1.instantiate bean 物件例項化
2.populate properties 封裝屬性
3.如果bean實現beannameaware執行 setbeanname
5.如果存在類實現beanpostprocessor(後處理bean),執行postprocessibeforeinitialization
6.如果bean實現initialzingbean執行afterpropertiesset
7.呼叫自定義的init-method方法
8.如果存在類實現beanpostprocessor(處理bean),執行postprocessafterinitiallization
9.執行業務處理
10.如果bean實現disposablebean執行destroy
11.呼叫自定義的destroy-method
對於bean的生命週期方法:
第三步與第四步是讓bean了解spring容器
第五步與第八步 可以針對指定的bean進行功能增強,這時一般會使用動態**。
第六步與第十步:通過實現指定的介面來完成init與destroy操作。
但是在開發中一般不使用第六步與第十步,原因是我們可以使用第七步與第十一步來完成。第七步與第十一步的初始化與銷毀操作它無耦合,推薦使用的。但是必須在配置檔案中指定初始化與銷毀的方法。
總結:對於bean的生命週期,我們需要關注的主要有兩個方法:
1.增強bean的功能可以使用後處理bean,beanpostprocessor
2.如果需要初始化或銷毀操作我們可以使用init-method destroy-method
注意:destroy-method只對scope=singleton有效果。
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...