美文网首页
spring mvc 初始化2次

spring mvc 初始化2次

作者: 兔龍 | 来源:发表于2017-04-06 16:17 被阅读402次

    项目中总是看到实力被初始化了2次, 应该是配置文件被执行了2次.
    springmvc的配置和spring的配置是分开的.

    spring配置:spring-common.xml

        <!-- 自动扫描装配bean -->
        <context:component-scan base-package="com.*.web">
        <!-- 不扫描@controller -->
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>     
        </context:component-scan>
    

    springmvc的配置文件:spring-mvc.xml

    <context:component-scan base-package="com.*.controller" >
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>
    

    省略了其他的配置.
    然后web.xml中的配置

    <!-- 配置SpringMVC start -->
        <servlet>
            <servlet-name>springMVC</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <!-- 指定配置文件位置和名称,所以就不需要到web-inf目录 -->
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath*:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springMVC</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
        <!-- 配置SpringMVC end -->
    

    这里是明确了springmvc使用的配置文件的,
    然后是spring的配置

    <!-- 配置Spring监听 -->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <context-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>classpath*:spring-common.xml</param-value>  
        </context-param>
    

    这里就必须要明确指定配置文件的名称.
    之前之所以出现2次加载, 因为我在这里配置的是spring-*.xml那么就找出了所有的复合要求的配置文件, 导致2次加载.

    相关文章

      网友评论

          本文标题:spring mvc 初始化2次

          本文链接:https://www.haomeiwen.com/subject/qflegttx.html