一張圖搞懂Spring bean的生命周期,從Spring容器啟動到容器銷毀bean的全過程,包括下面一系列的流程,了解這些流程對我們想在其中任何一個環節怎麼操作bean的生成及修飾是非常有幫助的。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SNzIWMjhjN4IjZmFTO2YGOhV2M0YWO2YWOlRmZzY2Yj9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
Bean的完整生命周期所用到的元件大概可以分為以下幾類:
1、Bean級别的接口
Bean自身定義的方法或者實作了接口的方法,即init-method和destroy-method指定的方法,還有實作了BeanNameAware,BeanFactoryAware,InitializingBean,DiposableBean等接口的方法。
2、容器全局後處理器接口
包括了BeanFactoryPostProcessor,InstantiationAwareBeanPostProcessor,BeanPostProcessor這兩個接口,它們是容器全局級别的接口。