1. Spring создает экземпляр компонента.
2. Spring внедряет значения и ссылки на компоненты в свойства данного компонента.
3. Если компонент реализует интерфейс BeanNameAware, Spring передает идентификатор компонента методу setBeanName() .
4. Если компонент реализует интерфейс BeanFactoryAware, Spring вызывает метод setBeanFactory() , передавая ему саму фабрику компонентов.
5. Если компонент реализует интерфейс ApplicationContextAware, Spring вызывает метод setApplicationContext(), передавая ему ссылку на вмещающий контекст приложения.
6. Если какие-либо из компонентов реализуют интерфейс BeanPost Processor, Spring вызывает их методы postProcessBeforeInitialization().
7. Если какие-либо из компонентов реализуют интерфейс InitializingBean, Spring вызывает их методы afterPropertiesSet(). Аналогично, если компонент был объявлен с атрибутом init-method, вызывается указанный метод инициализации.
8. Если какие-либо из компонентов реализуют интерфейс BeanPostProcessor, Spring вызывает их методы postProcessAfterInitialization().
9. В этот момент компонент готов к использованию приложением и будет сохраняться в контексте приложения, пока он не будет уничтожен.
10. Если какие-либо из компонентов реализуют интерфейс DisposableBean, Spring вызывает их методы destroy() . Аналогично, если компонент был объявлен с атрибутом destroy-method,
вызывается указанный метод.
Комментариев нет:
Отправить комментарий