AutoDetectによる春の自動配線
Springでは、「Autowiring by AutoDetect」は、デフォルトのコンストラクター(任意のデータ型の引数)の場合、「http://www.example.com/spring/spring-autowiring-by-constructor/ [コンストラクターによる自動配線]」を選択することを意味します、それ以外の場合は「http://www.example.com/spring/spring-autowiring-by-type/[autowirebytype]」を使用します。
Springの「自動検出による自動配線」の例を参照してください。 コンストラクターまたはタイプを介して、「kungfu」Beanを「panda」に自動配線します(panda beanの実装に基づきます)。
1. AutoDetect –コンストラクターによる
デフォルトのコンストラクターが指定されている場合、自動検出はコンストラクターによるワイヤーを選択します。
package com.example.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 constructor Person [kungfu=Language [name=Shao lin]]
2. 自動検出-タイプ別
デフォルトのコンストラクタが見つからない場合、自動検出はタイプごとにワイヤを選択します。
package com.example.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=Shao lin]]
ソースコードをダウンロード
ダウンロード–Spring-AutoWiring-by-Auto-Detect-Example.zip(6 KB)