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)