Cargando el contexto en Spring usando web.xml

¿Hay alguna manera de cargar un contexto usando web.xml en una aplicación Spring MVC?

De los documentos de spring

Spring se puede integrar fácilmente en cualquier framework web basado en Java. Todo lo que necesita hacer es declarar el ContextLoaderListener en su web.xml y usar un contextConfigLocation para establecer qué archivos de contexto cargar.

El :

  contextConfigLocation /WEB-INF/applicationContext*.xml    org.springframework.web.context.ContextLoaderListener   

Luego puede usar WebApplicationContext para obtener un control sobre sus beans.

 WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext()); SomeBean someBean = (SomeBean) ctx.getBean("someBean"); 

Consulte http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/context/support/WebApplicationContextUtils.html para obtener más información.

También puede especificar la ubicación del contexto relativa a la ruta de clase actual, que puede ser preferible

  contextConfigLocation classpath*:applicationContext*.xml   org.springframework.web.context.ContextLoaderListener  

También puede cargar el contexto mientras define el servlet en sí ( WebApplicationContext )

   admin org.springframework.web.servlet.DispatcherServlet  contextConfigLocation  /WEB-INF/spring/*.xml   1   admin /  

en lugar de ( ApplicationContext )

  contextConfigLocation /WEB-INF/applicationContext*.xml    org.springframework.web.context.ContextLoaderListener   

o pueden hacer ambas cosas juntas.

El inconveniente de utilizar WebApplicationContext es que cargará contexto solo para este punto de entrada de Spring en particular ( DispatcherServlet ) donde, como con el método de métodos mencionado anteriormente, se cargará para múltiples puntos de entrada (por ejemplo Webservice Servlet, REST servlet etc.)

El contexto cargado por ContextLoaderListener será de hecho un contexto principal para el que se cargó específicamente para DisplacherServlet. Así que, básicamente, puede cargar todo su servicio comercial, acceso a datos o beans de repository en el contexto de la aplicación y separar su controlador, ver beans de resolución a WebApplicationContext.