Chcę wstrzyknąć samą ApplicationContext
do fasoli.Sposób wstrzykiwania samego ApplicationContext
Coś
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Czy jest to możliwe na wiosnę?
Chcę wstrzyknąć samą ApplicationContext
do fasoli.Sposób wstrzykiwania samego ApplicationContext
Coś
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Czy jest to możliwe na wiosnę?
Poprzednie komentarze są ok, ale ja zazwyczaj wolą:
@Autowired private ApplicationContext applicationContext;
Łatwo, korzystając z interfejsu ApplicationContextAware
.
public class A implements ApplicationContextAware {
private ApplicationContext context;
public void setApplicationContext(ApplicationContext context) {
this.context = context;
}
}
Następnie w aktualnej ApplicationContext tylko trzeba odwołać swoją fasolkę.
<bean id="a" class="com.company.A" />
Tak, wystarczy zaimplementować interfejs .
+1 Btw, nie masz pojęcia o plusy minusy między wstrzykując ApplicationContext bezpośrednio @Autowired lub wdrożenie interfejsu ApplicationContextAware? Dzięki. – Javatar
@Bariscan: Myślę, że nie ma żadnych plusów i minusów. Ale ja wolę to, ponieważ @ Autowired jest tym, czego używam do wstrzykiwania wszystkich właściwości, więc gdybym zrobił to inaczej, po prostu jest to ApplicationContext? – sinuhepop
Czy możesz podać bardziej szczegółowy przykład kontekstu aplikacji @Autowired (Jestem wielkim fanem)? Dla mnie jest zawsze zerowa. Czy potrzebne są dodatkowe interfejsy? Dzięki. –