Spring Bean 生命周期
- 实例化
Bean
- 设置
Bean
属性值 - 判断是否实现
BeanNameAware
,如果实现调用其setBeanName方法 - 判断是否实现
BeanFactoryAware
,如果实现调用其setBeanFactory
方法 - 判断是否实现
ApplicationContextAware
,如果实现调用其setApplicationContext
方法 - 调用
BeanPostProcessor
的预初始化方法 - 判断是否标注
@PostConstruct
注解,如果有则执行 - 判断是否实现
InitializingBean
,如果实现调用其afterPropertiesSet
方法 - 判断是否配置初始化方法(
init-method
) - 调用
BeanPostProcessor
的后初始化方法 - 是否为
singleton
- singleton: 将Bean放入SpringIOC的缓存池中
- prototype: 将Bean交给调用者,后续不进行管理(不参与后续步骤)
- 执行
@PreDestory
标注的方法 - 调⽤
DisposableBean的destory
⽅法 - 调⽤属性配置的销毁⽅法(
destory-method
)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jacian's Blog!