Встречается на собеседованиях • сегодня
Какое знаешь верное решение при инъекции бина А в бин В, а бина В в бин А
Это циклическая зависимость, которую Spring не разрешает по умолчанию. Решения:
- Использовать @Lazy – один из бинов инициализируется лениво, разрывая цикл:
java
@Service
public class A {
@Autowired
@Lazy
private B b;
}- Setter/Field инъекция вместо конструкторной:
java
@Service
public class A {
private B b;
@Autowired
public void setB(B b) {
this.b = b;
}
}- Использовать интерфейсы – вынести зависимости в интерфейсы и внедрять их.
Лучший подход – пересмотреть дизайн, так как циклические зависимости обычно указывают на проблему в архитектуре.

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