Встречается на собеседованиях • сегодня
Сталкивался ли с циклическими зависимостями бинов в Spring
Циклические зависимости в Spring возникают, когда два или более бина зависят друг от друга напрямую или через цепочку зависимостей. Например, бин A требует B, а B требует A. Spring обнаружит это и выбросит BeanCurrentlyInCreationException.
Как решить:
- Использовать
@Lazy— откладывает инициализацию бина до первого использования.
java
@Service
public class A {
private final B b;
@Autowired
public A(@Lazy B b) { this.b = b; }
}-
Изменить архитектуру — вынести общую логику в третий бин или использовать интерфейсы.
-
Setter/Field Injection вместо конструкторного (не рекомендуется, но работает):
java
@Service
public class A {
@Autowired
private B b;
}Лучшая практика — избегать циклических зависимостей, так как они усложняют поддержку кода.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы