本文是Spring版本5.0.7的
在搭建SSM项目是都需要在web.xml文件里面配置一个监听器以及启动参数(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.通过监听器执行ContextLoaderListener.
2.初始化ContextLoaderListener里面的Contextinitialed方法
3.初始化父类(ContextLoader)的initContextApplicationContext方法
4.在initContextApplicationContext方法中要执行三个任务
①创建WebApplicationContext容器
②加载context-param中配置的spring配置文件
③初始化配置文件中及创建配置文件中的bean
5.web容器停止时候会执行ContextLoaderListener的contextDestroyed方法销毁context容器