appena incontrato lo stesso costrutto .. (un generale classe genitore astratta che ha usato Beans - con context.xml-dichiarazione per un'implementazione potenziale che è stato iniettato per componente-scan)
Questo è quello che ho potuto eseguite nella classe @Component:
@Autowired
public void setBeanUsedInParent(BeanUsedInParent bean) {
super.setBeanUsedInParent(bean);
}
..che ho finito per fare (meglio, dal momento che rende chiaro che l'iniezione funziona sull'oggetto non su classi) - e se si è in grado di modificare la classe madre:
// abstract getter in parent Class
public abstract BeanUsedInParent getBeanUsedInParent();
..leave i fagioli reali così come la loro iniezione fino alla realizzazione effettiva (la classe @Component):
@Autowired
private BeanUsedInParent beanUsedInParent;
@Override
public BeanUsedInParent getBeanUsedInParent() {
return this.beanUsedInParent;
}
fonte
2014-02-19 12:55:57
Non puoi semplicemente utilizzare l'ereditarietà? L'autowiring nella classe base funzionerà allo stesso modo. –
@Tomasz Nurkiewicz Ho un bean padre primaverile definito in xml (ha alcune proprietà impostate su valori "predefiniti"). Non è qualcosa che posso cambiare. – IAdapter
Ho aggiunto una risposta per spiegare ulteriormente la mia idea. Puoi elaborare un po 'di più perché non soddisfa le tue esigenze? Perché non puoi cambiare la definizione del genitore in XML? Temo che non sia possibile fare riferimento al genitore dall'annotazione ... –