欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring启动执行流程梳理

程序员文章站 2022-03-10 09:55:42
...

注:本文梳理启动流程使用的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方法
    Spring启动执行流程梳理
  3. contextInitialized方法中调用父类(ContextLoader)的initWebApplicationContext方法
    Spring启动执行流程梳理
  4. initWebApplicationContext方法中执行了三个任务
    • 创建WebApplicationContext容器
      Spring启动执行流程梳理
    • 加载context-param中配置的spring配置文件
    • 初始化配置文件中及创建配置文件中的bean
      Spring启动执行流程梳理
      Spring启动执行流程梳理

web容器停止时候会执行ContextLoaderListener的contextDestroyed方法销毁context容器
Spring启动执行流程梳理