2011-02-06 8 views

Odpowiedz

96

Poprzednie komentarze są ok, ale ja zazwyczaj wolą:

@Autowired private ApplicationContext applicationContext; 
+2

+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

+8

@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

+0

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. –

31

Ł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" /> 
10

Tak, wystarczy zaimplementować interfejs .

Powiązane problemy