一、總結
1、spring為bean初始化提供了兩種方式
2、實現initializingbean介面是直接呼叫afterpropertiesset方法,比通過反射呼叫init-method指定的方法效率相對來說要高點。但是init-method方式消除了對spring的依賴
3、如果呼叫afterpropertiesset方法時出錯,則不呼叫init-method指定的方法。
4、在spring初始化bean的時候,如果該bean是實現了initializingbean介面,並且同時在配置檔案中指定了init-method,系統則是先呼叫afterpropertiesset方法,然後在呼叫init-method中指定的方法。
二、示例
定義類:
package com.learn.common;
import org.springframework.beans.factory.initializingbean;
public class startload implements initializingbean
public void loadme()
}
spring配置檔案新增:
啟動專案,列印如下結果:
spring一啟動,我就被執行了!
spring啟動,我也要執行!
Spring初始化Bean狀態
一 單例模式 在spring中其實是scope 作用範圍 引數的預設設定值 每個bean定義只生成乙個物件例項,每次getbean請求獲得的都是此例項 單例模式分為餓漢模式和懶漢模式 關於單例的餓漢,懶漢請參考 二 預設情況下為單例模式 餓漢 prototype多例項模式介紹 呼叫getbean時,...
Spring中Bean的初始化流程
spring中經典的9種設計模式 mybatis執行流程 通常乙個 xml 對映檔案,都會寫乙個 dao 介面與之對應,請問,這個 dao 介面的工作原理是什麼?dao 介面裡的方法,引數不同時,方法能過載嗎?id是否可以相同 spring bean 的初始化主要實現在bean.factory包下的...
Spring 初始化bean之前,銷毀bean之前
spring 初始化bean之前,銷毀bean之後需要做的操作方式有三種 1.通過 postconstruct實現初始化之前進行的操作,predestroy實現銷毀bean之前做的操作 2.通過在xml中定義init method和destory method方法 3.通過bean實現initial...