Жизненный цикл Spring Beans?
Жизненным циклом бина в Spring управляет контейнер Spring. После запуска контейнера он начинает создавать необходимые бины(компоненты) и внедрять зависимости. Когда контейнер завершает свою работу уничтожаются и бины связанные с ним. Весь цикл жизни бина можно разделить на 6 этапов:
1. Инстанцирование объекта - технический старт жизни любого объекта, работа конструктора.
2. Установка свойств и внедрение зависимостей - выполнение конфигурационных свойств бина и внедрение необходимых ему зависимостей.
3. Уведомление aware-интерфейсов - если бин реализует Aware интерфейс, он будет вызываться путем передачи имени бина set*() метод.
4. Пре-инициализация - метод postProcessBeforeInitialization() интерфейса BeanPostProcessor.
5. Инициализация - сначала выполняется метод бина с аннотацией PostConstruct, затем метод afterPropertiesSet() в случае если бин реализует InitializingBean, метод init().
6. Пост-инициализация - метод postProcessAfterInitialization() интерфейса BeanPostProcessor.
Жизненным циклом бина в Spring управляет контейнер Spring. После запуска контейнера он начинает создавать необходимые бины(компоненты) и внедрять зависимости. Когда контейнер завершает свою работу уничтожаются и бины связанные с ним. Весь цикл жизни бина можно разделить на 6 этапов:
1. Инстанцирование объекта - технический старт жизни любого объекта, работа конструктора.
2. Установка свойств и внедрение зависимостей - выполнение конфигурационных свойств бина и внедрение необходимых ему зависимостей.
3. Уведомление aware-интерфейсов - если бин реализует Aware интерфейс, он будет вызываться путем передачи имени бина set*() метод.
4. Пре-инициализация - метод postProcessBeforeInitialization() интерфейса BeanPostProcessor.
5. Инициализация - сначала выполняется метод бина с аннотацией PostConstruct, затем метод afterPropertiesSet() в случае если бин реализует InitializingBean, метод init().
6. Пост-инициализация - метод postProcessAfterInitialization() интерфейса BeanPostProcessor.