当前位置 博文首页 > L-Java:Spring MVC 初始化源码(1)—ContextLoaderListener监听

    L-Java:Spring MVC 初始化源码(1)—ContextLoaderListener监听

    作者:[db:作者] 时间:2021-07-25 12:20

    ??基于最新Spring 5.x,详细介绍了Spring MVC 初始化流程的源码,主要包括ContextLoaderListener与根上下文容器的初始化流程的源码,以及web.xml文件加载流程。

    ??此前的一系列专栏文章中:Spring MVC 5.x 学习,我们对Spring MVC 5.x的重要特性进行了学习,基本掌握了Spring MVC的基本使用,现在我们一起来尝试学习Spring MVC的源码,尝试从源码的角度再次理解Spring MVC的整体执行流程,体会组件式架构的巧妙之处!
    ??Spring MVC同样依赖于Spring,关于容器初始化、bean注册、对象创建等基础功能的具体源码,我们在此前的Spring源码学习部分已经花了几十万字详细讲解过了,在此不再赘述,在学习Spring MVC的源码之前建议大概了解Spring的源码。

    ??本次主要学习web.xml文件加载流程以及ContextLoaderListener监听器的加载,即根上下文容器的初始化流程的源码。

    ??下面的源码版本基于5.2.8.RELEASE

    Spring MVC源码 系列文章

    Spring MVC 初始化源码(1)—ContextLoaderListener与父上下文容器的初始化

    Spring MVC 初始化源码(2)—DispatcherServlet与子容器的初始化以及MVC组件的初始化【一万字】

    Spring MVC 初始化源码(3)—<mvc:annotation-driven >配置标签的源码解析

    Spring MVC 初始化源码(4)—@RequestMapping注解的源码解析

    Spring MVC 请求执行流程的源码深度解析【两万字】

    文章目录

    • Spring MVC源码 系列文章
    • 1 web.xml文件加载流程
    • 2 ContextLoaderListener根上下文容器初始化
      • 2.1 initWebApplicationContext初始化根上下文容器
        • 2.1.1 createWebApplicationContext创建新WebApplicationContext
          • 2.1.1.1 determineContextClass获取上下文的Class
          • 2.1.1.2 XmlWebApplicationContext
        • 2.1.2 configureAndRefreshWebApplicationContext配置并刷新容器
          • 2.1.2.1 配置文件路径
          • 2.1.2.2 StandardServletEnvironment环境对象
          • 2.1.2.3 initPropertySources初始化Servlet属性源
          • 2.1.2.4 customizeContext应用ApplicationContextInitializer扩展
            • 2.1.2.4.1 determineContextInitializerClasses确定初始化器的Class
    • 3 总结
    cs