前言:本文目的是记录SSM架构实例化、运行流程。目前仍未完成,后续会持续更新。如有不到之处,万望不吝赐教!
- 零)servlet:
0.0)http协议通过端口(8080)被tomcat捕获,tomcat将其封装为HttpServletRequest对象发送给servlet 的“分发员”,然后去实例化该请求对应的方法的servlet
0.1)当tomcat启动时,servlet就会被实例化,而且只有一个实例(如果web.xml中仅仅配置一个的话)
HttpservletBeen 实例化后调用init()方法 //这部分内容可以了解servlet的生命周期
initServletBeen()这个方法由其子类实现。
- 1)SpringMVC初始化
是从FrameworkServlet类开始的
- 1.1.1)首先调取 initServletBeen() 方法
初始化 webApplicationContext:下图 :①所示
(注释:如果读者目前还不想了解spring-been的实例化过程,可以跳过本小节自1.1.1后的内容,直接步入1.2小节,继续springMVC初始化流程)。
- 1.1.2)webApplicationContext的创建
webApplicationContext继承自ApplicationContext接口
在创建webApplicationContext的时候,通过createWebApplicationContext方法返回了他的子接口configurableWebApplicationContext。从图中我们可以看出,configurableWebApplicationContext接口是由XmlWebApplicationContext实现的。
为什么要提起XmlWebApplicationContext这个实现类呢?,因为spring容器中的been会通过他得以实例化!