Spring Constructor Injection についてお聞きしたいです。そのため、クラスには、引数の数が異なる 2 つのコンストラクターがあります。
public class MyClassHello() {
public MyClassHello(String A) {
// do sth
}
public MyClassHello(String A, int B){
// do sth
}
}
1番目のコンストラクターにアクセスするためにこのように注入しようとすると、あいまいさがあるためSpringが機能しません。
<bean id="injectQuestion" class="MyClassHello">
<constructor-arg index="0" value="A String"/>
</bean>
デバッグ コードは次のようになります。
Unsatisfied dependency expressed through constructor argument with index 1 of type [java.lang.String]: Ambiguous constructor argument types.
つまり、Spring はインデックス 1 引数が存在するかどうかを知る必要があるということですか?
同じ数の引数を持つ 2 つのコンストラクターがある通常のケースとは異なります。というように、注入時に区別するためにタイプを設定できました。
私の場合、Spring に最初のコンストラクターを強制的に選択させる方法はありますか?
どうもありがとう!!