injizieren Ich verwende Spring Boot Annotation-Konfiguration. Ich habe eine Klasse, deren Konstruktor 2 Parameter akzeptiert (String, eine andere Klasse).Parameter in Konstruktor durch Annotation in Spring
Fruit.java
public class Fruit {
public Fruit(String FruitType, Apple apple) {
this.FruitType = FruitType;
this.apple = apple;
}
}
Apple.java
public class Apple {
}
Ich habe eine Klasse, die die obige Klasse autowire muss durch Parameter an den Konstruktor ("Eisen Fruit", Apple-Klasse) Einspritzen
Cook.java
public class Cook {
@Autowired
Fruit applefruit;
}
Die Notwendigkeit Koch Klasse Fruit Klasse mit Parametern ("Eisen Fruit", Apple-Klasse)
Die XML-Konfiguration sieht wie folgt autowire:
<bean id="redapple" class="Apple" />
<bean id="greenapple" class="Apple" />
<bean name="appleCook" class="Cook">
<constructor-arg index="0" value="iron Fruit"/>
<constructor-arg index="1" ref="redapple"/>
</bean>
<bean name="appleCook2" class="Cook">
<constructor-arg index="0" value="iron Fruit"/>
<constructor-arg index="1" ref="greenapple"/>
</bean>
Wie erreicht man es mit Annotation Konfiguration nur?
Ich habe meine Frage ein wenig verbessert. Wenn ich verschiedene Apfel (Redapple oder grüner Apfel) injizieren muss, was zu tun ist. Verschiedene Bohnen mit derselben Klasse. die Obst-Klasse Konstrukteur Parameter müssen mit Redapple oder greenapple – vishnumanohar
@vishnumanohar meine Antwort aktualisiert werden. – medvedev1088
Was ist, wenn Apple nicht von der Feder verwaltet wird und aus einer Bibliothek von Drittanbietern stammt, die nicht geändert werden kann? – Claus