Spring通過自動檢測自動裝配


在Spring,「通過自動檢測自動裝配」,「通過建構函式自動裝配」是指選,如果預設建構函式(引數與任何資料型別),以其他方式使用「按型別自動裝配」。
請參見Spring 「通過自動檢測自動裝配」的一個例子。自動裝配(對"panda" bean 的實現基地)的「kungfu」 Bean 到 「panda」,通過建構函式或型別。
<bean id="panda" class="com.tw511.common.Panda" autowire="autodetect" />
		
	<bean id="kungfu" class="com.tw511.common.KungFu" >
		<property name="name" value="Tai Ji" />
	</bean>

1. AutoDetect – 按建構函式裝配

如果預設的建構函式提供,自動檢測將構造自動裝配。
package com.tw511.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.tw511.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