Встречается на собеседованиях • сегодня
Какие знаешь способы решения циклической зависимости Bean в Spring
Spring предлагает несколько способов решения циклических зависимостей:
- Setter/Field Injection – внедрение через сеттеры или поля (не через конструктор). Spring сначала создает бины, а потом инжектит зависимости.
java
@Service
public class A {
@Autowired
private B b;
}
@Service
public class B {
@Autowired
private A a;
}
text
2. **@Lazy** – откладывает инициализацию бина до первого использования, разрывая цикл.
```java
@Service
public class A {
@Autowired
@Lazy
private B b;
}-
ApplicationContext – получение бина через контекст вручную (не рекомендуется).
-
Рефакторинг – лучший способ. Вынести общую логику в третий компонент или использовать интерфейсы.
java
public interface CommonService {}
@Service
public class A implements CommonService {
@Autowired
private B b;
}
@Service
public class B {
@Autowired
private CommonService a;
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы