springMVC系列之源码分析1

时间:2021-08-07 16:45:49

二:关键的类、接口


         这里介绍的是那些被高度抽象出来的接口或者抽象类、先从全局对springMVC有个骨感的认识、鼠标放置的类一般是默认使用的类!

        1、DispatcherServlet:前端控制器、用于分发请求、和做出响应、是整个springMVC框架的核心、也是设计的核心。层次结构图:


                springMVC系列之源码分析1


        2、HandlerMapping:用于处理请求、关键是获取HandlerExcuteChain。下图中红圈标注的是现在已经弃用的类、但是为了向后兼容、仍可以使用、层次结构图:


                springMVC系列之源码分析1


        3、HandlerExecutionChain :包含具体的Handler(即我们使用@Controller注释的并且被扫描的类)和一个或者多个或者没有的HandlerInterceptor 。层次结构图:


               springMVC系列之源码分析1                               


        4、HandlerInterceptor :过滤器、对一个请求在到达Handler之前、被Handler处理之后、和完成进行处理、AOP思想。层次结构图:


               springMVC系列之源码分析1


        5、HandlerAdapter:处理请求的映射、将一个请求映射到具体的被@Controller注解的类的方法中。处理完成后返回被渲染的视图、下图中红圈标注的是现在已经弃用的类、但是为了向后兼容、仍可以使用、。层次结构图:


               springMVC系列之源码分析1


        6、Controller:控制器、所谓的Handler、功能就像struts2中的Action如果是使用注解形式的springMVC、则这个接口没有被用到。

        7、ModelAndView:由Handler处理完成后、包含处理数据和视图的名称的一个对象。

        8、ViewResolver:把一个视图名交给到一个View来处理。层次结构图:


               springMVC系列之源码分析1


        9、View:由具体的View对象的render方法渲染视图。层次结构图:


               springMVC系列之源码分析1