Spring-MVC流程及源码解析(一) SpringMVC的初始化过程

若文中有任何不妥之处,请您帮我指出,大家一起交流学习,不吝赐教

本文讲述的方式是结合着源代码讲流程,所以源码会和流程一起前进

SpringMVC与Spring的集成

      首先,我想先说一下SpringMVC与Spring的集成,我个人非常喜欢这块部分,所以想分享给大家,当然如果你只是想看一下SpringMVC的具体执行流程,那么请直接跳过即可看我的下一篇文章即可

       毋庸置疑,SpringMVC的入口是DispatcherServlet,它的父类HttpServletBean(ps:请忽略这个绿色…我是个爱护眼睛的man)

《Spring-MVC流程及源码解析(一) SpringMVC的初始化过程》

      也就是上面这一大坨东西,进来就能看到一个非常明显的方法init(),根据我那12级的英语水平我判断这个应该是一个初始化的方法(我赌5毛的),一下这个是用来完成初始化的,而且使用的是final修饰符,说明这个方法并没有准备让子类去扩展,而try{}代码块中的代码,很明显,这就是个加载配置文件的,有兴趣的朋友点进去看一下就好.

      最后就是这个initServletBean()的方法了

《Spring-MVC流程及源码解析(一) SpringMVC的初始化过程》  

      这么大一个protected修饰符以及没有方法体,很明显就是告诉你这个活我安排我儿子去干了.果然,我们在FrameworkServlet中找到了这个方法

       《Spring-MVC流程及源码解析(一) SpringMVC的初始化过程》

      简单的看一眼,除了红色框内的代码其余的都是在打印日志,说明只有这块在干活,initWebApplicationContext()这个从方法名上面看应该是在初始化容器,我们看一下

      《Spring-MVC流程及源码解析(一) SpringMVC的初始化过程》

      顺着代码往下走,这里有一个onRefresh()的方法,老套路,我们直接看它的子类实现

《Spring-MVC流程及源码解析(一) SpringMVC的初始化过程》

     《Spring-MVC流程及源码解析(一) SpringMVC的初始化过程》

    这个方法的实现就回到了DispatcherServlet中

版权声明:本文为博主原创文章,转载请注明出处(https://blog.csdn.net/F1004145107/article/details/78590847)

    原文作者:Spring MVC
    原文地址: https://blog.csdn.net/f1004145107/article/details/78590847
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞