spring問題總結

2021-10-07 19:52:24 字數 743 閱讀 2058

什麼是迴圈依賴

如何去解決spring的迴圈依賴:

例項:

@component

public

classa}

@component

public

class

b}

但是spring容器中此時也沒有b物件的例項,因而其還是會先建立乙個b物件的例項。

讀者需要注意這個時間點,此時a物件和b物件都已經建立了,並且儲存在spring容器中了,只不過a物件的屬性b和b物件的屬性a都還沒有設定進去。

因為spring中已經有乙個a物件的例項,雖然只是半成品(其屬性b還未初始化),但其也還是目標bean,因而會將該a物件的例項返回。

這個時候,注意a物件的屬性b和b物件的屬性a都已經設定了目標物件的例項了

讀者朋友可能會比較疑惑的是,前面在為物件b設定屬性a的時候,這個a型別屬性還是個半成品。但是需要注意的是,這個a是乙個引用,其本質上還是最開始就例項化的a物件。

而在上面這個遞迴過程的最後,spring將獲取到的b物件例項設定到了a物件的屬性b中了

這裡的a物件其實和前面設定到例項b中的半成品a物件是同乙個物件,其引用位址是同乙個,這裡為a物件的b屬性設定了值,其實也就是為那個半成品的a屬性設定了值。

如圖詳解:

3. 具體使用spring的**快取:

spring中問題總結

1 啟動時載入 對於大物件,頻繁用的 2 使用時載入 1 儲存bean配置定義資訊的容器 map 使用hashmap 2 儲存bean例項資訊的容器 map 使用concurrentmap 構造方法 set方法 init方法 基於sqlsessionfactorybean物件建立sqlsession...

SSH問題總結(1) Spring注入問題

最近開發專案,遇到頭疼的問題 專案啟動不報錯,但載入緩慢並且重複載入配置問題。蛋疼地以為是架包衝突導致的。終於在乙個契機下,我發現,當我在spring配置檔案中,只宣告,不注入的話,就沒有這個問題。於是,在大神的幫助下,系統地查了一下spring配置檔案的問題。終於,把問題定位在spring注入 的...

面試 Spring常見問題總結 03

為了配置自動檢測,需要使用元素。預設情況下,使用構造型注所標註類。這些特殊的註解如下 component 通用構造型註解,標識該類為spring元件 controller 標識將該類定義為springmvc controller respository 標識將該類定義為資料倉儲 service 標識...