我們先寫乙個student類,如下
public
class
student
public
intgetage()
public
void
setage
(int age)
public
void
init()
public
void
destroy()
public
student()
}
然後我們在xml檔案中 寫乙個bean標籤
="live.sunhao.vo.student" id=
"student" destroy-method=
"destroy" init-method=
"init" p:age=
"12"
>
<
/bean>
init-method:在設定bean的屬性後執行的自定義初始化方法,注意:①、該方法不能有引數;②、物件每建立一次就會執行一次該方法;
destroy-method:該引數中的方法只有bean標籤屬性scope為singleton且關閉spring ioc容器時才會被呼叫,注意:該方法不能有引數
最後我們來寫乙個test類來測試一下bean的生命週期:
public
class
test
}
我們可以來看一下控制台的輸出:
通過構造方法或工廠方法建立bean物件(控制台中輸出構造方法,即呼叫構造方法)
為bean屬性賦值(控制台中輸出setter,即呼叫setage方法)
呼叫 bean 的初始化方法,即init-method指定方法(控制台中輸出init,即呼叫bean的初始化方法)
bean例項化完畢,可以使用(控制台中輸出為12)
容器關閉, 呼叫 bean 的銷毀方法,即destroy-method指定方法(控制台中輸出destroy)。
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...