Spring啟動執行流程梳理
阿新 • • 發佈:2019-02-17
注:本文梳理啟動流程使用的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載入執行步驟:
- 執行web.xml中的ContextLoaderListener監聽器
- 初始化ContextLoaderListener中的contextInitialized方法
- contextInitialized方法中呼叫父類(ContextLoader)的initWebApplicationContext方法
- initWebApplicationContext方法中執行了三個任務
- 建立WebApplicationContext容器
- 載入context-param中配置的spring配置檔案
- 初始化配置檔案中及建立配置檔案中的bean
- 建立WebApplicationContext容器
web容器停止時候會執行ContextLoaderListener的contextDestroyed方法銷燬context容器