Spring由構造方法自動裝配

在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]]

下載代碼 –  http://pan.baidu.com/s/1c1lKhTA

上一篇: Spring由名稱(Name)自動裝配 下一篇: Spring通過自動檢測自動裝配