简介
本文介绍Spring中Bean的生命周期。
BeanFactory中Bean的生命周期
生命周期流程图
流程描述
- 应用启动的时候检查需要被Spring管理的bean;
- 实例化、设置属性值
- 根据实现的接口,依次设置beanName,BeanFactory。
- 根据实现的接口,依次调用初始化前方法(@PostConstruct指定的方法),自定义初始化方法(@Bean(initMethod = “xxx”)的xxx方法),初始化后方法(BeanPostProcesser的postProcessAfterlnitialization)。
- bean已经可以用了,存活直到上下文也被销毁。
- 销毁的时候调用destroy方法和自定义的销毁方法。
ApplicationContext中Bean的生命周期
基本和BeanFactory中Bean的生命周期一致,区别在于:ApplicationContext中的Bean在BeanFactoryAware#setBeanFactory()和BeanPostProcessor#postProcessBeforeInitialization()中间多了一步:调用ApplicationContextAware#setApplicationContextAware()
请先
!