在Spring中,可以使用“通過構造自動裝配”,實際上是按構造函數的參數類型自動裝配。 這意味著,如果一個bean的數據類型與其他bean的構造器參數的數據類型是相同的,那麼將自動裝配。
下麵看看Spring構造函數自動裝配的一個完整例子。
1. Beans
這裏有兩個 beans, 分別是:developer 和 language
package com.xuhuhu.common; public class Developer { private Language language; //autowire by constructor public Developer(Language language) { this.language = language; } //... }
package com.xuhuhu.common; public class Language { private String name; //... }
2. Spring裝配
通常情況下,你可以通過構造這樣自動裝配 Bean:
<bean id="developer" class="com.xuhuhu.common.Developer"> <constructor-arg> <ref bean="language" /> </constructor-arg> </bean> <bean id="language" class="com.xuhuhu.common.Language" > <property name="name" value="Java" /> </bean>
輸出
Developer [language=Language [name=Java]]
隨著自動裝配用構造函數啟用後,你可以不設置構造器屬性。Spring會找到相容的數據類型,並自動裝配它。
<bean id="developer" class="com.xuhuhu.common.Developer" autowire="constructor" /> <bean id="language" class="com.xuhuhu.common.Language" > <property name="name" value="Java" /> </bean>
輸出
Developer [language=Language [name=Java]]
上一篇:
Spring由名稱(Name)自動裝配
下一篇:
Spring通過自動檢測自動裝配