強制初始化Bean

2021-08-10 08:13:01 字數 450 閱讀 4542

spring預設有個規則,總是先初始化主調bean,然後再初始化依賴bean。

大多數情況下,bean之間的依賴非常直接,spring容器在返回bean例項之前,完成bean依賴關係的注入。假如bean a 依賴於 bean b,程式請求bean a時,spring容器會自動先初始化bean b,再將bean b 注入bean a,最後將具備完整依賴的bean a 返回給程式。

在極端的情況下,bean之間的依賴不夠直接。比如,某個類的初始化塊中使用其他bean,spring總是先初始化主調bean,執行初始化塊時還沒有例項化主調bean,被依賴bean還沒例項化,此時將引發異常。

為了讓指定bean在目標bean之前初始化,可以使用depends-on屬性,該屬性可以再初始化主調bean之前,強制初始化乙個或多個bean。配置檔案片段如下:

Spring初始化Bean方法

一 總結 1 spring為bean初始化提供了兩種方式 2 實現initializingbean介面是直接呼叫afterpropertiesset方法,比通過反射呼叫init method指定的方法效率相對來說要高點。但是init method方式消除了對spring的依賴 3 如果呼叫after...

Spring初始化Bean狀態

一 單例模式 在spring中其實是scope 作用範圍 引數的預設設定值 每個bean定義只生成乙個物件例項,每次getbean請求獲得的都是此例項 單例模式分為餓漢模式和懶漢模式 關於單例的餓漢,懶漢請參考 二 預設情況下為單例模式 餓漢 prototype多例項模式介紹 呼叫getbean時,...

springboot初始化bean物件

個人是在使用springboot構建swagger的時候遇到了這個問題,因為需要通過配置檔案的方式類來應對各種環境 1.建立bean.xml配置檔案,將需要初始化的bean物件配置到xml檔案中 2.建立類config並注入配置檔案 package com.demo.dbank.util impor...