在某些情況下,我們在容器啟動的時候做一些事情,舉個例子,載入快取等。。
此時我們會希望某個bean先被載入並執行其中的afterpropertiesset方法。
因為spring預設是通過context:component-scan base-package配置中類的全名進行公升序載入的,因此,如果希望某個bean先載入,可以將其包名更改使得排名最前即可。
通過將該bean的fqn排到載入的最前面後,即實現了最先加在的目的,也沒有出現該錯誤。
spring bean的載入順序
一 spring裝配bean的過程 1.例項化 2.設定屬性值 3.如果實現了beannameaware介面,呼叫setbeanname設定bean的id或者name 4.如果實現beanfactoryaware介面,呼叫setbeanfactory 設定beanfactory 6.呼叫beanpo...
Spring bean 載入執行順序例項解析
問題 有乙個bean為a,乙個bean為b。想要a在容器例項化的時候的乙個屬性name賦值為b的乙個方法funb的返回值。如果只是在a裡單純的寫著 private b b private string name b.funb 會報錯說nullpointexception,因為這個時候b還沒被set進...
spring bean載入過程
spring通過資源載入器載入相應的xml檔案,使用讀取器讀取資源載入器中的檔案到讀取器中,在讀取過程中,解析相應的xml檔案元素,轉化為spring定義的資料結beandefinition,把相應的beandefinition註冊到登錄檔中。登錄檔中包含的beandefinition的資料結構,沒...