spring 父子容器 重複初始化

spring mvc  web 啓動 配置文件以下java

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
        classpath:applicationContext-configuration.xml 
          </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>example</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>example</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
<!--applicationContext-configuration.xml ,applicationContext-mvc.xml
掃描相同 都含有-->
<context:component-scan base-package="com.example" >
 </context:component-scan>

在 Listener 啓動時 把全部bean 都初始化完成web

在 servlet 啓動時  全部bean 又初始化一遍, 區別就是 增長了一個 spring

org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

在全部 bean 初始化完成後再對 Controller 作特殊處理mvc

這個類實現了app

ApplicationContextAware

因此能夠得到全部bean
url

相關文章
相關標籤/搜索