1. 首先學習下spring bean的作用域有singleton(預設)(單例模式),prototype(原始模型模式),session,request等。
每次呼叫bean的方法,prototype都會提供乙個新的物件(重新new),並不儲存原有的例項,而singleton不同,多次呼叫bean實際上都是使用的同乙個singleton物件,而且儲存了物件的狀態資訊。
注意:spring中依賴注入的預設物件為單例形式,@scope(「prototype」)註解可以將其改變為原型模式。
改變底層(如service層)的物件為原型時,同時改變上層呼叫層(如controller層)的呼叫方式,原型模式才會生效。
3. 下面開始介紹spring的生命週期,這裡可以表達為
bean的例項化 - bean的初始化 - bean的使用 - bean的銷毀
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...