橘子味的心
标题:Spring通过自动检测自动装配

在Spring,“通过自动检测自动装配”,“通过构造函数自动装配”是指选,如果默认构造函数(参数与任何数据类型),以其他方式使用“按类型自动装配”。
请参见Spring “通过自动检测自动装配”的一个例子。自动装配(对"panda" bean 的实现基地)的“kungfu” Bean 到 “panda”,通过构造函数或类型。
<bean id="panda" class="com.yiibai.common.Panda" autowire="autodetect" />
		
	<bean id="kungfu" class="com.yiibai.common.KungFu" >
		<property name="name" value="Tai Ji" />
	</bean>

1. AutoDetect – 按构造函数装配

如果默认的构造函数提供,自动检测将构造自动装配。
package com.yiibai.common;

public class Panda {
	private KungFu kungfu;

	public Panda(KungFu kungfu) {
		System.out.println("autowiring by constructor");
		this.kungfu = kungfu;
	}

	public KungFu getKungfu() {
		return kungfu;
	}

	public void setKungfu(KungFu kungfu) {
		System.out.println("autowiring by type");
		this.kungfu = kungfu;
	}

	//...
}

输出

autowiring by type 
Person [kungfu=Language [name=Tai Ji]]


2. AutoDetect – 按类型装配

如果没有找到默认的构造函数,自动检测将按类型选择装配。
package com.yiibai.common;

public class Panda {
	private KungFu kungfu;

	public KungFu getKungfu() {
		return kungfu;
	}

	public void setKungfu(KungFu kungfu) {
		System.out.println("autowiring by type");
		this.kungfu = kungfu;
	}

	//...
}

输出

autowiring by type 
Person [kungfu=Language [name=Tai Ji]]



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

分类