Встречается на собеседованиях • сегодня

Как происходит инициализация бинов

В Spring инициализация бинов проходит через IoC-контейнер в несколько этапов:

  1. Создание экземпляра – контейнер вызывает конструктор бина (через рефлексию или фабричный метод).
  2. Внедрение зависимостей – через @Autowired, сеттеры или конструктор.
  3. Post-обработка – вызываются callback-методы (@PostConstruct, InitializingBean.afterPropertiesSet()).
  4. AOP-проксирование – если есть аспекты, создается прокси.

Пример:

java
@Component
public class MyBean {
    @Autowired
    private Dependency dependency;

    @PostConstruct
    public void init() {
        System.out.println("Bean initialized!");
    }
}

Бины по умолчанию создаются лениво (@Lazy), но можно сделать их eager через @Scope("singleton"). Порядок инициализации можно контролировать через @DependsOn.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы