私は、コンストラクタを使ってクラス内のメンバをautowireしようとしています。Spring:autowiring中に異なる修飾子を持つ重複したコンストラクタを持つことは可能ですか?
@Component
public class MyClass {
private ClassA myMember;
@Autowire
public MyClass(ClassA objectA) {
myMember = objectA;
}
}
私はにClassAの豆を作成するには、複数の情報源を持っている場合、それはこのクラスにautowiredた豆に基づいてインスタンス化し、重複コンストラクタの定義を持つことは可能でしょうか?
私はこのような何かをしたい:
@Component
public class MyClass {
private ClassA myMember;
@Autowire
public MyClass(@Qualifier ("qualifierA") ClassA objectA) {
myMember = objectA;
}
@Autowire
public MyClass(@Qualifier ("qualifierB") ClassA objectB) {
myMember = objectB;
}
}
私は@Qualifier
をこのように使用してみましたが、それは動作しませんでした。 私はSpringで何をしようとしているのですか? Bean定義がようであればどのように私は、名前()または(qualifierB
)に基づいて明確にすることができます
@Bean (name = "qualifierA")
public ClassA getQualifierA() {
...
}
@Bean (name = "qualifierB")
public ClassA getQualifierB() {
...
}
あなたは '@Autowired @Qualifier( "qualifierA")'と '@Autowired @Qualifierに注釈を付けてみました:これらのシナリオについて、あなたは(あなたがすることはできません)オートワイヤリングを使用しますが、単に明示的な配線を使用しないでください ( "qualifierB") '? –
はい、それでもうまくいきませんでした。 – c3p0
なぜ2つの異なるコンストラクタで1つのフィールドを自動配線しようとしていますか? 1つのフィールドはどのように2つの異なる値を持つことができますか –