在學習servlet的時候,也提過生命週期。人從出生,到死亡經歷乙個過程,bean也一樣,每個bean經歷5個階段:
1.通過構造器或工廠方法建立 bean 例項
2.為 bean 的屬性設定值和對其他 bean 的引用
3.呼叫 bean 的初始化方法
4.bean 可以使用了
5.當容器關閉時, 呼叫 bean 的銷毀方法
下面通過乙個例子來說明:
從執行結果可以看出來,首先用構造器獲得了乙個bean賦好屬性值,然後呼叫了country的init方法,接下來列印出country,最後呼叫destroy方法銷毀。
除此之外,在呼叫init方法前後,還可以進行一些細化的工作,用到spring的乙個介面:beanpostprocessor, 該介面定義了兩個方法:
public object postprocessafterinitialization(object bean, string beanname),
public object postprocessbeforeinitialization(object bean, string arg1);
(1)src/com.csu.cycle/propostprocessor.class:
public
class
propostprocessor
implements
beanpostprocessor
@override
public object postprocessbeforeinitialization(object bean, string arg1) throws bean***ception
}
(2) beans-cycle.xml:
ioc會自動識別實現了beanpostprocessor介面的類,所以這裡沒有必要再定義id了,並且propostprocessor 對所有bean都起作用(如果需要對只對某個特定的bean起作用,則在方法中做判斷)。
class="com.csu.cycle.propostprocessor">
bean>
最後,在這兩個方法:
public object postprocessafterinitialization(object bean, string beanname),
public object postprocessbeforeinitialization(object bean, string arg1);
中,可以把bean給偷梁換柱了再返回去,例如:
public object postprocessafterinitialization(object bean, string beanname) throws bean***ception
Spring學習筆記 關於bean的生命週期
springioc容器可以管理bean的生命週期,spring允許在bean宣告週期的特定點執行定製的任務。springioc容器對bean的生命週期進行管理的過程 在bean的宣告裡設定init method和destory method屬性,為bean指定初始化和銷毀的方法。bean後置處理器允...
Spring框架中的Bean物件的生命週期
從書上可知,spring框架中bean物件有它的生命週期,還包括bean的銷毀。在beanfacotory中獲取的例項是singleton,beanfactory預設每乙個引用來維護乙個例項,對單執行程式來講,並不會有什麼問題,但是多程式來說,就需要你注意執行的安全,可以設定每次在beanfacot...
(8)Spring 管理Bean的生命週期
我們進行乙個實際的操作 car類 xml檔案中 出來結果 bean 後置處理器允許在呼叫初始化方法前後對 bean 進行額外的處理.bean 後置處理器對 ioc 容器裡的所有 bean 例項逐一處理,而非單一例項.其典型應用是 檢查 bean 屬性的正確性或根據特定的標準更改 bean 的屬性.對...