Hy eine abstrakte Klasse erweitert,Injizieren Sie eine Liste von Klassen, die mit Feder
ich den nächsten Code haben:
public abstract class MyClass{
protected abstract void method1();
}
Klassen, die die erste erweitern:
@Component
public class MyClass1 extends MyClass{
.....
}
@Component
public class MyClass2 extends MyClass{
.....
}
Meine Klasse wo ich versuche, eine Liste von Klassen zu injizieren, die eine abstrakte Klasse erweitert
@Component
public class SpringClass{
@Autowired **//It doesnt work, nothing is inyected!**
List<MyClass> classes
}
Mein Problem ist, es funktioniert nicht, es injiziert nicht die Liste der Klassen, die MyClass in Eigenschaftsklassen erweitern. Warum?
Dank
Es sollte für Frühling 3.1+ funktionieren, denke ich. Siehe http://stackoverflow.com/questions/1450145/spring-list-beans-by-type Funktioniert die Injektion für den Normalfall (nur MyClass1 zum Beispiel injizieren) und nicht für eine Liste? –
Sind Sie sicher, dass Ihre Komponenten gescannt wurden? – luboskrnac
Ja, meine Komponenten werden gescannt, aber wenn ich eine Schnittstelle benutze, wird die Liste angezeigt, wenn ich eine abstrakte Klasse no verwende; es ist egal, wenn ich versuche, eine Liste oder ein einzelnes Element zu injizieren, es funktioniert nicht mit einer abstrakten Klasse – user3254515