2012-03-02 8 views
5

Mam MVC wiosny projekt utworzenia tak:Wiosna nie widać ziarna między serwletów-kontekstowych i contextConfigLocation fasoli

<servlet> 
<servlet-name>appServlet</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<init-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring-contexts/servlet-context.xml</param-value> 
</init-param> 
<load-on-startup>1</load-on-startup> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring-contexts/configuration-context.xml</param-value> 
</context-param> 

Wydaje się, jeśli zrobię fasoli w konfiguracji -context.xml i odwołują się do komponentu bean w pliku servlet-context.xml, który nie może go znaleźć. Czy są tworzone jako dwa różne konteksty? Dlaczego tak się dzieje/działa to w ogóle?

Odpowiedz

6

Tak, istnieją dwa konteksty ułożone jeden na drugim (kontekst rodzicielski i podrzędny).

Ziarna z DispatcherServlet (servlet-context.xml) mogą uzyskać dostęp do ziaren z ContextLoaderListener (configuration-context.xml), ale nie na odwrót.

Tak więc podstawowe elementy w configuration-context.xml i sieci powiązane raz w servlet-context.xml.

@See również to przepełnienie stosu pytanie: ContextLoaderListener or not?

+0

mógłbyś mi powiedzieć dlaczego nie mogę dotrzeć, z mojego serwletu internetowej, na txManager zdefiniowany w ApplicationContext? – vault

Powiązane problemy