Gibt es im Frühling eine Möglichkeit, alle Abhängigkeiten eines bestimmten Typs automatisch zu aktivieren?

8

Ich verwende eine auf Annotationen basierende Verkabelung (zB @Configurable(autowire=Autowire.BY_TYPE) ) für eine gegebene Klasse, und ich möchte alle Beans eines bestimmten Typs als eine Liste in diese Liste einbinden:

Anwendungskontext:

%Vor%

Klasse zum Autowire in:

%Vor%

Alle Abhängigkeiten implementieren eine gemeinsame Schnittstelle namens Configurer

Gibt es eine Möglichkeit, dies so zu gestalten, dass alle Abhängigkeiten eines Typs in einer Sammlung miteinander verdrahtet und bei Bedarf eingefügt werden, oder sollte ich ein <list> in XML oder so etwas definieren?

    
Naftuli Kay 16.08.2011, 18:41
quelle

2 Antworten

7

Ja,

%Vor%

funktioniert, und Sie erhalten eine Liste aller Beans, die die Schnittstelle implementieren. (mehrere Variationen - @Inject oder @Autowired , Feld, Setter oder Konstruktor Injektion - alle arbeiten)

    
Bozho 16.08.2011, 18:47
quelle
2

Das sollte funktionieren:

%Vor%

Dies wird im Abschnitt beschrieben 3.9.2 des Frühlingshandbuchs :

  

Es ist auch möglich, alle Beans eines bestimmten Typs aus dem ApplicationContext bereitzustellen, indem die Anmerkung einem Feld oder einer Methode hinzugefügt wird, die ein Array dieses Typs erwartet [...] Dasselbe gilt für typisierte Sammlungen.

    
skaffman 16.08.2011 18:47
quelle

Tags und Links