開発者ドキュメント

AutoDetectによる春のオートワイヤリング

Springでは、デフォルトのコンストラクタ(任意のデータ型の引数)の場合は「

コンストラクタによるオートワイヤ

」を選択し、そうでない場合は「

autowire by type

」を参照してください。

Springの “自動検出による自動配線”の例を参照してください。 “kungfu” beanをコンストラクタまたはタイプ(panda beanの実装のベース)を介して “panda”に自動配線します。

    <bean id="panda" class="com.mkyong.common.Panda" autowire="autodetect"/>

    <bean id="kungfu" class="com.mkyong.common.KungFu" >
        <property name="name" value="Shao lin"/>
    </bean>

1. AutoDetect – コンストラクター別

デフォルトコンストラクタが指定されている場合、auto detectはコンストラクタによってワイヤを選択します。

package com.mkyong.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. AutoDetect  - タイプ別

デフォルトコンストラクタが見つからない場合、自動検出はタイプによってワイヤを選択します。

package com.mkyong.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)

参考文献


  1. タイプ別Spring自動配線

  2. リンク://spring/spring-autowiring-by-constructor/[Spring Autowiring by

コンストラクタ]

モバイルバージョンを終了