自動裝配
有助於減少編寫乙個大的基於 spring 的應用程式的 xml 配置的數量。
byname
由屬性名自動裝配
原先採用手動配置
"user"
class
="com.fanlan.pojo.user"
>
name
="name"
value
="氾濫"
/>
bean
>
自動裝配(仍然可以使用
標籤連線其餘的屬性)
"user"
class
="com.fanlan.pojo.user"
autowire
="byname"
/>
spring 容器看到在 xml 配置檔案中 bean 的自動裝配的屬性設定為 byname,byname會根據它的屬性與在配置檔案中被定義為相同名稱的 beans 的屬性。
確保id屬性名唯一,不然會包錯。
bytype
由屬性資料型別自動裝配
"user"
class
="com.fanlan.pojo.user"
autowire
="bytype"
/>
spring 容器看到在 xml 配置檔案中 bean 的自動裝配的屬性設定為 bytype。然後如果它的型別匹配配置檔案中的乙個確切的 bean 名稱,它將嘗試匹配和連線屬性的型別。如同上面
如果存在不止乙個這樣的 bean,則乙個致命的異常將會被丟擲。
constructor
由建構函式自動裝配,應用於構造器引數
"user"
class
="com.fanlan.pojo.user"
autowire
="constructor"
>
name
="name"
value
="氾濫"
/>
bean
>
spring 容器看作 beans,在 xml 配置檔案中 beans 的 autowire 屬性設定為 constructor。然後,它嘗試把它的建構函式的引數與配置檔案中 beans 名稱中的乙個進行匹配和連線。如果找到匹配項,它會注入這些 bean,否則,它會丟擲異常。
總結:byname 會自動在容器上下文中查詢,和自己物件set 方法後面的值相同對應的的id;
bytype 會自動在容器上下文中查詢,和自己物件屬性型別class一致的
Spring Beans 自動裝配
使用元素的 autowire 屬性為乙個 bean 定義指定自動裝配模式。這種模式由屬性名稱指定自動裝配。spring 容器看作 beans,在 xml 配置檔案中 beans 的 auto wire 屬性設定為 byname。然後,它嘗試將它的屬性與配置檔案中定義為相同名稱的 beans 進行匹配...
Spring Beans 自動裝配
spring 自動裝配 byname 這種模式由屬性名稱指定自動裝配。spring 容器看作 beans,在 xml 配置檔案中 beans 的 auto wire 屬性設定為 byname。然後,它嘗試將它的屬性與配置檔案中定義為相同名稱的 beans 進行匹配和連線。如果找到匹配項,它將注入這些...
Spring Beans自動裝配
在配置檔案中我們配置bean檔案,如果bean的屬性設定了autowire byname 表示自動裝備。即表示spring容器會查詢該bean配置的屬性 對應的pojo類的屬性 並設定這個屬性的值為對應的bean。通俗來講就是,實體類中有屬性想獲得而不想在bean內的重新寫屬性配置。看圖你就明白了 ...