In meinem ApplicationContext habe ich mehrere Beans im selben Stil erstellt. Also habe ich eine Menge von doppeltem Code, der eine FactoryBean
für jede dieser Bohnen schreibt. Diese Beans haben eine gemeinsame Basis und implementieren alle eine spezielle Schnittstelle.Wie erstellt man eine Bohne nach Typ im Frühling?
Ich möchte alle diese Bean-Erstellung zu einer Fabrik verschieben. Das würde man eine Methode wie diese
<T extends CommonInterface> T createInstance(Class<T> clazz);
zu bieten haben Dort konnte ich all die Instanziierung, die erforderlich sind einer meiner besonderen Bohnen zu erstellen.
Meine Implementierung würde durch die Feder für
@Autowired
private MyCommonInterfaceImplementation impl;
auf diese Weise
createInstance(MyCommonInterfaceImplementation.class)
Bisher habe ich bei BeanFactory
und FactoryBean
sah genannt werden, scheinen beide nicht zu Ich suche.
Irgendwelche Vorschläge?
Warum verwenden Sie nicht die '@ Component' Annotation? –
@MartinFrey, wie hilft die Komponentenanmerkung in diesem Fall? Vielleicht bin ich völlig verständnis Frage, aber in diesem Fall ich diese Fall Annotation ist keine Lösung –