Bean的生命周期

1. Instantiate 实例化一个Bean

2. Populate properties 设置Bean的属性值

3*. 调用BeanNameAware的setBeanName()

4*. BeanFactoryAware的setBeanFactory()

5*. 调用BeanPostProcessors的ProcessBeforeInitialization()

6*. 调用InitializingBean的afterPropertiesSet()

7. 调用调用Bean定义的init-method

8*. BeanPostProcessors的ProcessaAfterInitialization()

[上面是Bean的创建阶段]

[Bean的正常使用阶段]

[下面是Bean的销毁阶段,例如容器销毁的时候]

9. 调用DisposableBean的destroy()

10. 调用Bean中自定义的destroy-method

其中,Bean自身的方法包括:本身正常使用的方法,通过或者@Bean配置的init-method和destroy-method方法。在一般的开发过程中,我们只需要关心Bean自身的方法即可。剩余的都是Bean级别的生命周期的接口方法,包括BeanNameAware、BeanFactoryAware、InitializingBean和DiposableBean这些接口的方法,只有Bean实现了这些接口,才会在生命周期中执行接口的相关方法。


同时感谢以下博文,写作时作为参考借鉴

Spring IoC的一点总结

长话短说Spring(1)之IoC控制反转

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容