1. 程式人生 > >Spring啟動執行流程梳理

Spring啟動執行流程梳理

注:本文梳理啟動流程使用的Spring版本:4.0.2.RELEASE
使用spring配置,都需要在web.xml中配置一個spring的監聽器和啟動引數(context-param),如下:

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:spring-*.xml
        </param-value>
    </context-param
>
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

web容器啟動時,下面為spring載入執行步驟:

  1. 執行web.xml中的ContextLoaderListener監聽器
  2. 初始化ContextLoaderListener中的contextInitialized方法
    初始化載入contextInitialized方法
  3. contextInitialized方法中呼叫父類(ContextLoader)的initWebApplicationContext方法
    這裡寫圖片描述
  4. initWebApplicationContext方法中執行了三個任務
    • 建立WebApplicationContext容器
      這裡寫圖片描述
    • 載入context-param中配置的spring配置檔案
    • 初始化配置檔案中及建立配置檔案中的bean
      這裡寫圖片描述
      這裡寫圖片描述

web容器停止時候會執行ContextLoaderListener的contextDestroyed方法銷燬context容器
這裡寫圖片描述