Spring Bean 的生命周期

作者: 一字馬胡
轉(zhuǎn)載標(biāo)志 【2017-11-03】

更新日志

日期 更新內(nèi)容 備注
2017-11-03 添加轉(zhuǎn)載標(biāo)志 持續(xù)更新

Spring Bean 生命周期概述

關(guān)于Spring生命周期的資料非常多,內(nèi)容大同小異,本文就當(dāng)做是學(xué)習(xí)筆記吧。所謂生命周期,就是從出生到死亡的過程,我想要知道的是在Spring容器中,一個bean是怎么從出生走向死亡的,這里面的過程非常豐富,也就意味著我們可以更加靈活的使用Spring容器來為我們工作。所以這也說明學(xué)習(xí)和掌握Spring Bean的生命周期是異常重要的。

下面的圖片形象的展示了Spring Bean生命周期中需要走的一些路徑:

Spring bean的生命周期

Spring Bean 生命周期詳解

上面的流程圖已經(jīng)展示了Spring bean生命周期的詳細(xì)細(xì)節(jié),我們知道了這些加載、初始化、設(shè)置等一系列流程之后,就可以在合適的環(huán)節(jié)加上我們想要的動作,比如,我們可以使用BeanFactoryPostProcessor的postProcessBeanFactory方法來修改bean的屬性,例如,我們有一個bean的一個屬性A在spring配置文件中找不到,但是我們可以在BeanFactoryPostProcessor的postProcessBeanFactory方法里面使用方法的參數(shù)beanFactory來注冊一個A。我們還可以使用BeanPostProcessor來修改我們的bean的屬性值,比如一個bean的一個屬性A,我們可以在BeanPostProcessor的postProcessBeforeInitialization方法和postProcessAfterInitialization方法來修改其值,這些方法需要配合其他的與Spring bean生命周期相關(guān)的類來做。

可以將Spring bean的生命周期根據(jù)不同特點劃分為下面的幾類:

  • Bean自身的方法

包括我們在配置bean時候設(shè)置的init-method方法和destroy-method方法。

  • Spring Bean級別的生命周期方法

包括BeanNameAware、BeanFactoryAware、InitializingBean和DiposableBean這些接口的方法。

  • Spring容器級別生命周期方法

包括InstantiationAwareBeanPostProcessor、BeanPostProcessor、BeanFactoryPostProcessor的實現(xiàn)類的方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容