为Web应用程序使用单个spring应用程序上下文

Ram*_*amo 8 java spring spring-mvc

我正在使用org.springframework.web.servlet.DispatcherServlet并且org.springframework.ws.transport.http.MessageDispatcherServlet在同一个应用程序中,但每个都在加载自己的应用程序上下文,我需要在单个应用程序上下文中加载所有bean.

该应用程序由典型的web> app> dao等层组成

我试过的是spring-root-context.xml通过设置它来使用一个单独的contextConfigLocation.

但是没有帮助,这对我来说一直是一个问题很长一段时间我会感激任何帮助.

任何在线参考都将是一个很好的帮助.

ska*_*man 12

你需要的是这里ContextLoaderListener.这是一个ServletContextListener创建WebApplicationContext在该webapp中的所有servlet之间共享的根.

DispatcherServletMessageDispatcherServlet仍然会创建自己的背景,但每次都会有根上下文作为他们的父母,所以他们俩能够使用在根上下文中定义的bean,像的DAO等一些豆类将不得不留在自己的servlet上下文,例如控制器,视图解析器,SOAP端点等,但共享公共bean可以放在根目录中.

有关如何配置它的示例,请参阅Spring文档.