Spring启动过程

[TOC]

使用spring配置,都需要在web.xml中配置一个spring的监听器和启动参数(context-param),如下:

1
2
3
4
5
6
7
8
9
10
<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>12345678910

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容器
这里写图片描述