Bei Spring ist die globale Einheit in der Konfiguration der so genannte ApplicationContext
. Dieser Context ist etwa ein Container im Applicationserver (beispielsweise web.xml
). Soweit so gut.
Tatsächlich ist der WebApplicationContext
eine Spezialisierung des oben genannten ApplicationContext – und zuständig für Webanwendungen. Da ein Servlet die Steuerung im Applicationserver übernimmt, benötigt der Spring-Context ein DispatcherServlet
. Damit ist die “Verbindung” User->Server->Spring geschaffen. Soweit so gut.
Konfiguriert man das DispatcherServlet etwa – sinnigerweise – mit dem Namen dispatcher
, dann sucht Spring standardgemäß nach einer dispatcher-servlet.xml
. Diese XML-Konfigurationsdatei kann ähnlich der applicationContext.xml
(u.ä.) ganz normale Bean-Konfigurationen enthalten. Interessant ist dabei, dass dabei ein zusätzlicher ServletContext erstellt wird. Das hat zwei Auswirkungen:
- Beans aus dem ServletContext sind nicht im
ApplicationContext
verfügbar - Annotations-gestützte Konfigurationen müssen jeweilse in beiden Contexten konfiguriert, also aktiviert, werden