Spring 8 bean的生命週期

2021-07-22 22:01:51 字數 2380 閱讀 5673

在學習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 的屬性.對...