该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读

Spring 版本:5.2.4.RELEASE

该系列其他文档请查看:《精尽 Spring MVC 源码分析 - 文章导读》

HandlerMapping 组件

HandlerMapping 组件,请求的处理器匹配器,负责为请求找到合适的 HandlerExecutionChain 处理器执行链,包含处理器(handler)和拦截器们(interceptors

  • handler 处理器是 Object 类型,可以将其理解成 HandlerMethod 对象(例如我们使用最多的 @RequestMapping 注解所标注的方法会解析成该对象),包含了方法的所有信息,通过该对象能够执行该方法

  • HandlerInterceptor 拦截器对处理请求进行增强处理,可用于在执行方法前、成功执行方法后、处理完成后进行一些逻辑处理

由于 HandlerMapping 组件涉及到的内容比较多,考虑到内容的排版,所以将这部分内容拆分成了四个模块,依次进行分析:

  • 《HandlerMapping 组件(一)之 AbstractHandlerMapping》
  • 《HandlerMapping 组件(二)之 HandlerInterceptor 拦截器》
  • 《HandlerMapping 组件(三)之 AbstractHandlerMethodMapping》
  • 《HandlerMapping 组件(四)之 AbstractUrlHandlerMapping》

HandlerMapping 组件(三)之 AbstractHandlerMethodMapping

先来回顾一下HandlerMapping 接口体系的结构:

《HandlerMapping 组件(一)之 AbstractHandlerMapping》文档中已经分析了 HandlerMapping 组件的 AbstractHandlerMapping 抽象类基类

那么本文就接着来分析图中红色框部分的 AbstractHandlerMethodMapping 系,该系是基于 Method 进行匹配。例如,我们所熟知的 @RequestMapping 等注解的方式。一共就三个类,不多

最新文章

  1. Nodejs事件引擎libuv源码剖析之:句柄(handle)结构的设计剖析
  2. jQuery文字特效制作文字鼠标滑过多彩色变色显示
  3. access remote libvirtd
  4. vbs脚本总结
  5. C++类的成员函数使用的一些小总结
  6. PAT (Top Level) Practise 1008 Airline Routes(Tarjan模版题)
  7. java追加文件的几种方式
  8. css固定表格表头(各浏览器通用)
  9. [DP] The 0-1 knapsack problem
  10. 所谓“脚本(Script)”——个人见解浅谈
  11. javascript第二章--变量、作用域和内存问题
  12. 从函数式编程到Ramda函数库(一)
  13. Java编写串口程序
  14. 【python】time和datetime的strptime不是线程安全的!
  15. Too many connections解决方法
  16. BZOJ 1055: [HAOI2008]玩具取名(记忆化搜索)
  17. mysql学习笔记(三)
  18. 格式化输出%与format
  19. JVM小结--类文件结构
  20. Python IDLE 安装与使用教程(调试、下载)

热门文章

  1. nginx 负载均衡设置
  2. 如何获取流式应用程序中checkpoint的最新offset
  3. vue统计组件库和ui框架
  4. 面经分享!蚂蚁金服三面被拒,重拾起鼓四面猿辅导成功拿下offer!
  5. web自动化 下拉框、切换到新窗口
  6. MySQL常用命令与语句
  7. 啊这......蚂蚁金服被暂缓上市,员工的大house没了?
  8. 一周一个中间件-hbase
  9. LeetCode 034 Search for a Range
  10. FPGA 流水灯