当前位置:   article > 正文

springmvc的初始化过程-源码分析(一)_spring mvc 拦截器初始化过程

spring mvc 拦截器初始化过程

有不少人对于springmvc的初始化过程并不太清晰,下面这篇博客将帮助你理解springmvc的深层次概念.

 

众所周知springmvc最主要的核心拦截器就是DispatcherServlet,它其实就是一个增强版Servlet,是对HttpServlet的进一步封装.

springmvc在HttpServlet的基础上增加了三个子类,分别是HttpServletBean,FrameworkServlet,DispatcherServlet.重写了init,service等方法.

 

当第一次请求过来之后,会调用HttpServletBean的init方法,因为HttpServletBean重写了init方法.

在HttpServletBean的init方法中最后会去走initServletBean方法,而initServletBean这个方法其实是一个空方法,目的是让子类FrameworkServlet进行重写

我们走到FrameworkServlet子类的initServletBean中可以看到,最为核心的一个方法就是initWebApplicationContext方法,其他的代码主要是为了打印日志,目的是方便追踪错误.

好,现在我们进入到initWebApplicationContext的方法中,直接看我用红线圈出的部分,因为方法太多,如果一一讲完的话是非常耗费时间的,大家主要看重要部分即可.当大家点击进入onRefresh方法中会发现又是一个空方法,是留给子类去实现的,这也是框架里面惯用的套路.

我们进入到onRefresh的方法,这里是重头戏了,onRefresh方法调用了initStrategies方法,该方法初始化了很多springmvc的重要类,例如:映射器,适配器,视图解析器等,这也是你在做项目时候发送请求为什么映射器等java类就已经存在的原因.到此springmvc的初始化完成.

 

 

下一篇博客讲解springmvc的执行流程的源码分析

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/1015705
推荐阅读
相关标签
  

闽ICP备14008679号