bean在spring ioc中是存在生命週期的,bean的初始化和銷毀是需要乙個過程的,在一些自定義的過程中,我們可以插入一些**去改變bean的一些行為,滿足特定的需求。這時候,我們就需要了解bean的生命週期了。
首先,我們現在看下spring bean的生命週期示例圖:
1.初始化,依賴注入請檢視:spring ioc初始化和依賴注入
2.實現beannameaware介面中的setbeanname方法,傳遞bean的id
3.實現beanfactory介面,setbeanfactory方法,傳遞beanfactory物件的例項
5.實現beanpostprocessor介面,postprocessbeforeinitialization方法,在設定bean屬性之前呼叫,bean的前置處理器
6.實現beanfactorypostprocessor介面,afterpropertiesset方法,呼叫配置檔案中,所有bean屬性
7.是否自定義初始化方法,如果已經定義,就會呼叫自定義初始化方法(init方法)
8.顯示beanpostprocessor介面,postprocessafterinitialization方法,在bean屬性之後呼叫,bean的後置處理器
當,完成以上呼叫,那麼bean也就完成了初始化,bean也就在spring ioc容器中了,這個時候就可以獲取bean的服務。
當,伺服器關閉時,就需要呼叫對應的方法來完成對bean的銷毀,bean的銷毀存在下面兩種方式:
1.實現disposablebean介面,destroy方法,進行銷毀
2.自定義銷毀
Spring Bean生命週期
1.容器尋找bean的定義資訊並且將其實例化。2.受用依賴注入,spring按照bean定義資訊配置bean的所有屬性。3.如果bean實現了beannameaware介面,工廠呼叫bean的setbeanname 方法傳遞bean的id。4.如果bean實現了beanfactoryaware介面,...
spring bean生命週期
生命週期 定義,初始化,使用,銷毀 一.初始化 方法1.實現org.springframework.beans.foctory.initializingbean介面,覆蓋afterpropertiesset方法。系統會自動查詢afterpropertiesset方法,執行其中的初始化操作 方法2.配...
Springbean生命週期
springbean的完整生命週期大致如下 1 首先例項化 beanfactorypostprocessor的實現類,執行它的postprocessorbeanfactory方法 2 例項化beanpostprocessor 的實現類 3 例項化 instantiationawarebeanpost...