我使用的是spring3.x。我的应用程序中有以下配置文件。
applicationContext.xml
spring-ws-servlet.xml
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>spring-ws</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring-ws-servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>spring-ws</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我的问题是,我们需要在applicationContext.xml
中保留什么类型的豆,在spring-ws-servlet.xml
中需要保留什么类型?为什么我们两者都需要?我应该保留applicationContext.xml
中的所有内容并删除spring-ws-servlet.xml
吗?
如果两者都有,那么我应该在另一个中导入一个吗?请帮帮我。
谢谢!
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/applicationContext.xml</param-value>
</context-param>
您必须将侦听器定义为:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这个ContextLoaderListener
监听器负责启动和停止Spring root ApplicationContext
接口,该接口加载applicationContext.xml
中定义的bean。它通过查看contextConfigLocation
的<context-param>
标签来查找要使用的配置。
<servlet>
<servlet-name>spring-ws</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring-ws-servlet.xml</param-value>
</init-param>
</servlet>
由DispatcherServlet
创建的ApplicationContext
是root ApplicationContext
接口的子级通常,Spring MVC特定组件在DispatcherServlet的ApplicationContext接口中初始化,而其余部分由CCD_ 13加载。
child ApplicationContext
中的bean(例如由DispatcherServlet创建的bean(可以引用其父ApplicationContext的bean(如由ContextLoaderListener创建的beans(。但是,parent ApplicationContext
不能引用child ApplicationContext
的bean。
我们正在处理两种类型的上下文:
1:根上下文(父上下文。通常包括所有jdbc(ORM、Hibernate(初始化和其他与spring安全相关的配置(
2:单个servlet上下文(子上下文。通常是Dispatcher servlet上下文并初始化与springmvc相关的所有bean(控制器、URL映射等((。
下面是web.xml的一个示例,它包括多个应用程序上下文文件
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Spring Web Application example</display-name> <!-- Configurations for the root application context (parent context) --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring/jdbc/spring-jdbc.xml <!-- JDBC related context --> /WEB-INF/spring/security/spring-security-context.xml <!-- Spring Security related context --> </param-value> </context-param> <!-- Configurations for the DispatcherServlet application context (child context) --> <servlet> <servlet-name>spring-mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring/mvc/spring-mvc-servlet.xml </param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>spring-mvc</servlet-name> <url-pattern>/admin/*</url-pattern> </servlet-mapping>