一般來說,prototype作用域的bean,spring僅僅負責建立,當建立了bean例項之後,該例項將完全交給客戶端**去管理,spring容器不再跟蹤其生命週期。而對於singleton作用域的bean,每次客戶端**請求時都會共享同乙個bean例項,因此singleton作用域的bean的生命週期由spring容器負責。
對於singleton作用的bean,spring容器知道它何時例項化結束,何時銷毀,因此spring可以管理例項化結束之後和銷毀之前的行為。分別為:
1>注入依賴關係之後
2>即將銷毀bean之前
spring提供兩種方式來管理bean依賴關係注入之後的行為:
1>使用init-method屬性指定bean初始化完成之後自動呼叫該bean例項的哪個方法
2>實現initializingbean介面。實現該介面需要實現乙個抽象方法:void
afterpropertiesset
()throws
exception ;
public
class person implements initializingbean
public
void
initok()
}//在配置檔案中配置該bean
"persion" class="person" init-method="initok">
value="chengxi" />
"password"
value="1123" />
"age"
value="20" />
"description"
value="這是乙個簡單的例項" />
//在main程式中測試
public
class test
}//在控制台將會輸出:person bean初始化完成
使用init-method指定初始化完成之後的動作
同樣,spring也提供兩鐘方式來定製銷毀bean物件之前的行為:
1>使用destroy-method屬性指定銷毀物件之前的行為方法
2>實現disposablebean介面並實現其抽象方法:void destroy(0 throws exception;來指定銷毀物件之前的行為
public
class
person
implements
disposablebean
public
void
destroymethod()
}//配置bean的destroy-method屬性值為destroymethod ;
//呼叫main程式測試
public
class
test
}
Bean生命週期
初始化 1 實現org.springframework.beans.factory.initializingbean介面,覆蓋afterpropertiesset方法。public class exampleinitializingbean implements initializingbean 2...
bean生命週期
spring中的ioc容器可以管理bean生命週期,預設情況下,ioc容器初始化時便會把bean例項化。通過以下例項過程來體會bean的生命週期 1.student類 package text public class student public student public void setna...
Bean生命週期?
前言 生命週期 從物件的建立,到物件銷毀的過程。一 bean的生命週期 7步操作 1.建立。通過無參構造方法,建立bean的例項 2.設定物件屬性,和對其他bean的引用。3.檢查有沒有bean的後置處理器,有就把bean的例項傳給postprocessbeforeinitialization 方法...