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
?2)使用星號來匹配多個檔案進行載入,檔名稱要符合規律。(推薦使用)
[html]view plain
copy
? //配置檔案的名稱
span>
3)可以使用陣列作為引數,一次性載入多個配置檔案
[html]view plain
copy
?注意:自動裝配功能和手動裝配要是同時使用,那麼自動裝配就不起作
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 框架核心檔案所在...