Spring Bean引用例子
如何注入值到Spring bean屬性
Spring bean加載多個配置文件
Spring內部bean實例
Spring Bean作用域實例
Spring集合 (List,Set,Map,Properties) 實例
Spring ListFactoryBean實例
Spring SetFactoryBean實例
Spring MapFactoryBean例子
Spring注入日期到bean屬性-CustomDateEditor
Spring PropertyPlaceholderConfigurer實例
Spring bean配置繼承
Spring依賴檢查
Spring使用@Required註解依賴檢查
Spring自定義@Required-style註解
Spring Bean InitializingBean和DisposableBean實例
Spring Bean init-method 和 destroy-method實例
Spring @PostConstruct和@PreDestroy實例
Spring通過自動檢測自動裝配
在Spring,「通過自動檢測自動裝配」,「通過構造函數自動裝配」是指選,如果默認構造函數(參數與任何數據類型),以其他方式使用「按類型自動裝配」。
請參見Spring 「通過自動檢測自動裝配」的一個例子。自動裝配(對"panda" bean 的實現基地)的「kungfu」 Bean 到 「panda」,通過構造函數或類型。
<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]]