弹簧配置文件关系



我使用的是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创建的ApplicationContextroot 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>