Bean的生命週期

2021-07-23 19:30:35 字數 1437 閱讀 2694

一般來說,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 方法...