橘子味的心
标题:Spring由构造方法自动装配

在Spring中,可以使用“通过构造自动装配”,实际上是按构造函数的参数类型自动装配。 这意味着,如果一个bean的数据类型与其他bean的构造器参数的数据类型是相同的,那么将自动装配。
下面看看Spring构造函数自动装配的一个完整例子。

1. Beans

这里有两个 beans, 分别是:developer 和 language

package com.yiibai.common;

public class Developer {
	private Language language;

	//autowire by constructor
	public Developer(Language language) {
		this.language = language;
	}

	//...

}
package com.yiibai.common;

public class Language {
	private String name;
	//...
}

2. Spring装配

通常情况下,你可以通过构造这样自动装配 Bean:
<bean id="developer" class="com.yiibai.common.Developer">
		<constructor-arg>
			<ref bean="language" />
		</constructor-arg>
	</bean>
		
	<bean id="language" class="com.yiibai.common.Language" >
		<property name="name" value="Java" />
	</bean>

输出

Developer [language=Language [name=Java]]
随着自动装配用构造函数启用后,你可以不设置构造器属性。Spring会找到兼容的数据类型,并自动装配它。
<bean id="developer" class="com.yiibai.common.Developer" autowire="constructor" />
		
	<bean id="language" class="com.yiibai.common.Language" >
		<property name="name" value="Java" />
	</bean>

输出

Developer [language=Language [name=Java]]

下载代码 –  http://pan.baidu.com/s/1c1lKhTA

分类