spring框架學習(四)自動裝配

2022-04-23 15:48:55 字數 1246 閱讀 7388

spring框架學習(四)自動裝配

set注入和構造注入有時在做配置時比較麻煩。所以框架為了提高開發效率,提供自動裝配功能,簡化配置。spring框架式預設不支援自動裝配的,要想使用自動裝配需要修改spring配置檔案中標籤的autowire屬性

自動裝配屬性有6個值可選,分別代表不同的含義。

1,byname

從spring環境中獲取目標物件時,目標物件中的屬性會根據名稱在整個spring環境中查詢標籤的id屬性值。如果有相同的,那麼獲取這個物件,實現關聯。

整個spring環境:表示所有的spring配置檔案中查詢,那麼id不能有重複的。

2,bytype

從spring環境中獲取目標物件時,目標物件中的屬性會根據型別在整個spring環境中查詢標籤的class屬性值。如果有相同的,那麼獲取這個物件,實現關聯。

缺點:如果存在多個相同型別的bean物件,會出錯。

如果屬性為單一型別的資料,那麼查詢到多個關聯物件會發生錯誤。

如果屬性為陣列或集合(泛型)型別,那麼查詢到多個關聯物件不會發生異常。

3,constructor

使用構造方法完成物件注入,其實也是根據構造方法的引數型別進行物件查詢,相當於採用bytype的方式。

4,autodetect

自動選擇:如果物件沒有無引數的構造方法,那麼自動選擇constructor的自動裝配方式進行構造注入。如果物件含有無引數的構造方法,那麼自動選擇bytype的自動裝配方式進行setter注入。

5,no

不支援自動裝配功能

6,default

表示預設採用上一級標籤的自動裝配的取值。如果存在多個配置檔案的話,那麼每乙個配置檔案的自動裝配方式都是獨立的。

如果配置檔案存在多個的情況下,載入配置檔案的方式:

**中載入配置檔案:

[html]view plain

copy

print

?2)使用星號來匹配多個檔案進行載入,檔名稱要符合規律。(推薦使用)

[html]view plain

copy

print

?   //配置檔案的名稱  

span>  

3)可以使用陣列作為引數,一次性載入多個配置檔案

[html]view plain

copy

print

?注意:自動裝配功能和手動裝配要是同時使用,那麼自動裝配就不起作

Spring 學習 四 自動裝配

spring 可以自動裝配,只要設定需要自動裝配的中的autowire 屬性。如 有四種自動裝配型別 byname 試圖在容器中尋找和需要自動裝配的屬性名相同的bean 或id 如果沒有找到相符的bean,這個屬性就沒有被裝配上。bytype 試圖在容器中尋找乙個與需要自動裝配的屬性型別相同的bea...

Spring 四 自動裝配

bean自動裝配 spring裝配機制 自動裝配 元件掃瞄 component scanning spring會自動發現應用上下文中所建立的bean 自動裝配 autowiring spring自動滿足bean之間的依賴 ioc di 實體類 貓 public class cat 狗 public ...

封裝框架(四)自動載入類

建立完入口檔案之後,我們要建乙個自動載入類 首先index.php後加乙個函式 spl autoload register 入口檔案 1 定義常量 2 載入函式庫 3 啟動框架 define path getcwd 獲取當前框架所在的目錄 define core path core 框架核心檔案所在...