W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
你已經(jīng)學會如何使用<bean>
元素來聲明 bean 和通過使用 XML 配置文件中的<constructor-arg>
和<property>
元素來注入 。
Spring 容器可以在不使用<constructor-arg>
和<property>
元素的情況下自動裝配相互協(xié)作的 bean 之間的關系,這有助于減少編寫一個大的基于 Spring 的應用程序的 XML 配置的數(shù)量。
下列自動裝配模式,它們可用于指示 Spring 容器為來使用自動裝配進行依賴注入。你可以使用<bean>
元素的 autowire 屬性為一個 bean 定義指定自動裝配模式。
模式 | 描述 |
---|---|
no | 這是默認的設置,它意味著沒有自動裝配,你應該使用顯式的bean引用來連線。你不用為了連線做特殊的事。在依賴注入章節(jié)你已經(jīng)看到這個了。 |
byName | 由屬性名自動裝配。Spring 容器看到在 XML 配置文件中 bean 的自動裝配的屬性設置為 byName。然后嘗試匹配,并且將它的屬性與在配置文件中被定義為相同名稱的 beans 的屬性進行連接。 |
byType | 由屬性數(shù)據(jù)類型自動裝配。Spring 容器看到在 XML 配置文件中 bean 的自動裝配的屬性設置為 byType。然后如果它的類型匹配配置文件中的一個確切的 bean 名稱,它將嘗試匹配和連接屬性的類型。如果存在不止一個這樣的 bean,則一個致命的異常將會被拋出。 |
constructor | 類似于 byType,但該類型適用于構造函數(shù)參數(shù)類型。如果在容器中沒有一個構造函數(shù)參數(shù)類型的 bean,則一個致命錯誤將會發(fā)生。 |
autodetect(3.0版本不支持) | Spring首先嘗試通過 constructor 使用自動裝配來連接,如果它不執(zhí)行,Spring 嘗試通過 byType 來自動裝配。 |
可以使用 byType 或者 constructor 自動裝配模式來連接數(shù)組和其他類型的集合。
當自動裝配始終在同一個項目中使用時,它的效果最好。如果通常不使用自動裝配,它可能會使開發(fā)人員混淆的使用它來連接只有一個或兩個 bean 定義。不過,自動裝配可以顯著減少需要指定的屬性或構造器參數(shù),但你應該在使用它們之前考慮到自動裝配的局限性和缺點。
限制 | 描述 |
---|---|
重寫的可能性 | 你可以使用總是重寫自動裝配的 <constructor-arg>和 <property> 設置來指定依賴關系。 |
原始數(shù)據(jù)類型 | 你不能自動裝配所謂的簡單類型包括基本類型,字符串和類。 |
混亂的本質 | 自動裝配不如顯式裝配精確,所以如果可能的話盡可能使用顯式裝配。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: