web项目启动经过如下步骤。

1.项目启动,加载依赖的jar包。

2.web容器(tomcat)先提供一个全局上下文ServletContext.

3.web容器去读取web.xml文件,并且运行ContextLoaderListener监听器,该监听器因为实现了ServletContextListener接口,所以当发现容器生成了一个ServletContext实例的时候,便会执行ServletContextListener接口的初始化方法,在该初始化方法中根据contextConfigLocation指定的位置去读取spring的主要配置文件,然后生成web应用上下文WebApplicationContext,并且将其作为一个属性注入到ServletContext中。

4.初始化WebApplicationContext以后,启动了“业务层”的spring容器,并开始加载并初始化applicationContext配置文件中所扫描的类。

5.然后就是初始化filter,最后初始化servlet。

所以说作为web项目,WebApplicationContext的生成必须要在web容器存在的情况下才能实现,因为他需要ServletContext,而ServletContext是web容器生成的。
————————————————
在这里插入图片描述

版权声明:本文为CSDN博主「360linker」的原创文章,遵循CC 4.0 BY-SA版权协议。
原文链接:
【1】https://blog.csdn.net/belalds/article/details/80005460
【2】https://blog.csdn.net/song_ysh/article/details/86526748

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐