1. 程式人生 > >Spring XML配置裏的Bean自動裝配

Spring XML配置裏的Bean自動裝配

裝配bean car 是我 構造器 判斷 rand 命名 res class

Spring自動裝配

這段是我們之前編寫的代碼,代碼中我們使用了P命名空間

並且使用手動裝配的方式將car

<bean id="address" class="cn.bdqn.spring.Address" p:ciyt="beijing"

p:street="malianwa"></bean>

<bean id="car" class="cn.bdqn.spring.Car" p:brand="ford" p:price="10000"></bean>

<bean id="person" class="cn.bdqn.spring.Person"

p:name="zhangsna"

p:age="23" p:address-ref="address" p:car-ref="car">

</bean>

XML配置裏的Bean自動裝配

Spring IOC容器可以自動裝配Bean.需要做的僅僅是在<bean>的

自動裝配的方式:

autowire屬性裏指定自動裝配的模式

①byType(根據類型自動裝配):若IOC容器中有多個與目標Bean類型一致的Bean,在這種情況下Spring將無法判斷哪個Bean最適合該屬性,所以不能執行自動裝配.

②byName(根據名稱自動裝配):必須將目標Bean的名稱和屬性名設置的完全相同.

③Constructor(通過構造器自動裝配,不推薦使用):當Bena中存在多個構造器時.這種自動裝配的方式將會很復雜

XML配置裏的Bean自動裝配的缺點

① 在Bean配置文件裏設置autowire屬性進行自動裝配將會裝配Bean的所有屬性,然而,若希望裝配個別屬性時,aotuwire屬性就不夠靈活了

②Autowire屬性要麽根據類型自動裝配,要麽根據名稱自動裝配,不能兩者兼而有之.

③一般情況下,在實際的項目中很少使用自動裝配功能,因為和自動裝配功能所帶來的好處比起來,明確清晰的配置文檔更有說服力一些.

Spring XML配置裏的Bean自動裝配