2012-03-02 9 views
5

Tengo un proyecto MVC primavera establecido de este modo:primavera no puede ver los granos de entre servlet-contexto y contextConfigLocation granos

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

Aparece si hago un grano en la configuración -context.xml y hacer referencia a un bean en servlet-context.xml no puede encontrarlo. ¿Se crean estos dos contextos diferentes? ¿Por qué sucede esto/trabajo así en general?

Respuesta

6

Sí, hay dos contextos apilados uno en el otro (contexto primario y secundario).

Los beans del DispatcherServlet (servlet-context.xml) pueden acceder a los beans desde ContextLoaderListener (configuration-context.xml), pero no al revés.

Ponga las cosas básicas en el configuration-context.xml y la web una vez en servlet-context.xml.

@see también esta pregunta desbordamiento de pila: ContextLoaderListener or not?

+0

¿Me podría decir por qué no puedo alcanzar, desde mi servlet web, el txManager definido en applicationContext? – vault

Cuestiones relacionadas