spring bean生命週期

2022-08-15 18:06:16 字數 717 閱讀 7147

1、獲取bean定義(通過資源位置和讀取解析方式共同構成了資源, 解析資源為bean定義,存入map中)

2、執行beanfactorypostprocessor,修改bean定義(bean定義的佔位符替換等, 也可以通過這裡載入更多的bean定義)

--下面是bean的生命週期

aware介面:

分為兩組,也是執行順序

aware group1

beannameaware

beanclassloaderaware

beanfactoryaware

aware group2

environmentaware

embeddedvalueresolveraware 這個知道的人可能不多,實現該介面能夠獲取spring el解析器,使用者的自定義註解需要支援spel表示式的時候可以使用,非常方便。

beanpostprocessor:

執行順序:

beanpostprocessor有很多個,而且每個beanpostprocessor都影響多個bean,其執行順序至關重要,必須能夠控制其執行順序才行。關於執行順序這裡需要引入兩個排序相關的介面:priorityordered、ordered

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...