Spring中自動裝配的4種方式
Spring容器可以在不使用<constructor-arg>
和<property>
元素的情況下自動裝配相互協(xié)作的bean之間的關系,助于減少編寫一個大的基于Spring的應用程序的XML配置的數(shù)量使用<bean>
元素的autowire屬性為一個bean定義指定自動裝配模式。
在Spring中,我們有4種方式可以裝配Bean的屬性。
1,byName
通過byName方式自動裝配屬性時,是在定義Bean的時候,在property標簽中設置autowire屬性為byName,那么Spring會自動尋找一個與該屬性名稱相同或id相同的Bean,注入進來。
2,byType
通過byType方式自動注入屬性時,是在定義Bean的時候,在property標簽中設置autowire屬性為byType,那么Spring會自動尋找一個與該屬性類型相同的Bean,注入進來。
3,constructor
通過構造器自動注入。在定義Bean時,在bean標簽中,設置autowire屬性為constructor,那么,Spring會尋找與該Bean的構造函數(shù)各個參數(shù)類型相匹配的Bean,通過構造函數(shù)注入進來。
4,autodetect
自動裝配。如果想進行自動裝配,但不知道使用哪種類型的自動裝配,那么就可以使用autodetect,讓容器自己決定。這是通過在定義Bean時,設置bean標簽的autowire屬性為autodetect來實現(xiàn)的。設置為autodetect時,Spring容器會首先嘗試構造器注入,然后嘗試按類型注入。
默認情況下,Spring是不進行自動裝配的。我們可以在xml中,設置beans標簽的default-autowire屬性為byName,byType等,來設置所有bean都進行自動裝配。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接