Springでは、 ”

Autowiring by Constructor

“は実際にはコンストラクタ引数の

Type by autowiring

です。これは、Beanのデータ型が他のBeanコンストラクタの引数のデータ型と同じであれば、自動配線します。

コンストラクタによるSpring自動配線の完全な例を参照してください。

1.ビーンズ

2つの豆、開発者と言語。

package com.mkyong.common;

public class Developer {
    private Language language;

   //autowire by constructor
    public Developer(Language language) {
        this.language = language;
    }

   //...

}

package com.mkyong.common;

public class Language {
    private String name;
   //...
}

2.スプリング配線

通常、以下のようにコンストラクタでBeanを配線します。

    <bean id="developer" class="com.mkyong.common.Developer">
        <constructor-arg>
            <ref bean="language"/>
        </constructor-arg>
    </bean>

    <bean id="language" class="com.mkyong.common.Language" >
        <property name="name" value="Java"/>
    </bean>


出力

Developer[language=Language[name=Java]]....

** コンストラクタによる**  autowireを有効にすると、コンストラクタのプロパティを未設定のままにすることができます。 Springは互換性のあるデータ型を見つけ、それを自動的に配線します。

<bean id="developer" class="com.mkyong.common.Developer" autowire="constructor"/>

<bean id="language" class="com.mkyong.common.Language" >
    <property name="name" value="Java"/>
</bean>

__出力__

Developer[language=Language[name=Java]]…​.

ソースコードをダウンロードする

それをダウンロードしてください://wp-content/uploads/2011/06/Spring-AutoWiring-by-Constructor-Example.zip[Spring-AutoWiring-by-Constructor-Example.zip](6 KB)

参考文献

  1. リンク://spring/spring-di-via-constructor/[コンストラクタを介したSpring DI]


  2. タイプ別Spring自動配線