У меня есть класс с перегруженными конструкторами, как это:Spring перегруженный конструктор автоматического связывания
@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
. Я хотел бы, чтобы один из двух конструкторов был вызван и автоподсвещен соответственно в зависимости от варианта использования.
Когда я запустил этот код, я получил ошибку:
Invalid autowire-marked constructor: ...
Found another constructor with 'required' Autowired annotation: ...
Можно ли иметь перегруженные autowired конструкторов? Если да, каков правильный способ сделать это?
Спасибо!
Опишите сценарии, в которых должен быть вызван каждый конструктор. Укажите условия –