SpringMVC父容器的创建过程

IOC容器的启动过程就是建立上下文的过程
该上下文是与servletContext相伴而生的。
在web.xml中
在这里插入图片描述

该上下文是spring容器。在spring容器的基础上,还有一个与WebMVC相关的上下文用来保存控制器(DispatcherServlet)需要的mvc对象,作为spring容器的子上容器。

然后我从这里开始为大家解读一下。如果有错误 望大家指出。这里是根上下文创建的开始。

spring容器创建之前,已经完成了servletContext的创建。
初始化spring上下文,调用父类ContextLoader的initWebApplicationContext的方法
在这里插入图片描述
进入该方法中,查看下面
在这里插入图片描述
首先进行判断,判断servletContext容器中是否存在spring容器,存在则抛异常
在这里插入图片描述
创建一个空的spring容器。默认使用xmlWebApplication
在这里插入图片描述 强转成xmlWebApplication的父类ConfigurableWebApplicationContext。
回到initWebApplicationContext方法中
在这里插入图片描述看到configureAndRefreshWebApplicationContext方法。从方法名字可以看出,这里是 配置和刷新spring容器。
在这个方法当中,找到spring配置文件的路径。根据你在web.xml文件的全局配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述将路径设置到空的spring容器中,为后面完成spring容器的整个配置做基础。
在该方法的最后调用refresh()方法。这方法不多说,,,,,

发布了10 篇原创文章 · 获赞 0 · 访问量 246

猜你喜欢

转载自blog.csdn.net/qq_43677987/article/details/103327687