Ich möchte die Bohnen, die die var args Argumente für meinen Konstruktor sind, automatisch verdrahten.Var args Autowire
Kann ich das tun, wenn ja, wie kann ich erreichen?
Hier ist der Code Ich versuche:
Public class ServiceImpl implements Service{
private Set<Rules> rules = new HashSet<Rules>();
public ServiceImpl(Rules... args) {
for (Rules r : args) {
rules.add(r);
}
}
//...
}
Ich versuche, in spring-config.xml
wie unten zu injizieren:
<bean id = "check" class="ServiceImpl">
<constructor-arg ref="notEmpty"></constructor-arg>
<constructor-arg ref="check"></constructor-arg>
</bean>
Gibt es eine Möglichkeit, dass ich erreichen Sie dies mit Anmerkungen und ohne constructor args
hier zu passieren.
Ich erhalte Ausnahme keine qualifizierten Bohne, hier meine Feder-config.xml ist \t \t \t \t \t < Bohne \t \t class = "org.springframework.web.servlet.view.InternalResourceViewResolver"> \t \t \t \t \t –
user8579908
das bedeutet, dass der Kontext keine Rules-Implementierungen finden kann. Sie müssen sicherstellen, dass Sie mindestens eine konkrete Implementierung von Regeln in Ihrem Anwendungskontext haben (etwas, das in den Paketen, die Sie scannen, mit @Component versehen ist). – Chris
danke Das hat funktioniert – user8579908