【发布时间】:2016-06-18 06:11:02
【问题描述】:
我有一个具有重载构造函数的类,如下所示:
@Component
public class MyClass {
private ClassA myMemberA;
private ClassA myMemberB;
@Autowire
public MyClass(@Qualifier ("qualifierA") ClassA objectA, ClassA objectB) {
myMemberA = objectA;
myMemberB = objectB;
}
@Autowire
public MyClass(ClassA objectA) {
myMemberA = objectA;
}
}
基本上,一个构造函数有两个ClassA 参数,一个构造函数只有一个参数。我定义了两个ClassA 类型的bean。
我希望根据用例相应地调用和自动装配两个构造函数之一。
当我运行这段代码时,我得到了错误:
Invalid autowire-marked constructor: ...
Found another constructor with 'required' Autowired annotation: ...
是否可以重载自动装配的构造函数?如果是,正确的做法是什么?
谢谢!
【问题讨论】:
-
描述应该调用每个构造函数的场景。指定条件
标签: java spring constructor