本文主要是介绍SpringMVC源码剖析2——处理器映射器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
01.处理器映射器 HandlerMapping
一句话概括作用: 为 我 们 建 立 起 @RequestMapping 注 解 和 控 制 器 方 法 的 对 应 关 系 。
怎么去查看
第一步:
处理器映射器的实体类:
RequestMappingHandlerMapping
父类
RequestMappingInfoHandlerMapping
父类的父类
AbstractHandlerMethodMapping
父类的父类的父类
AbstractHandlerMapping
第二步:找到对应的方法,获取拦截的方法
01 02 03 04 05 06 07 08 09 10 11 12 13 14 | public Map<T, HandlerMethod> getHandlerMethods() { this .mappingRegistry.acquireReadLock(); try { return Collections.unmodifiableMap( this .mappingRegistry.getMappings()); } finally { this .mappingRegistry.releaseReadLock(); } } getMappings()代码内容 public Map<T, HandlerMethod> getMappings() { return this .mappingLookup; } |
此处能看到一个无界HashMap,存储的是映射关系
那么什么时候存进去的呢?
在AbstractHandlerMethodMapping类中有如下代码:
扫描ApplicationContext中的bean,检测并注册处理程序方法。用来扫描bean的
01 02 03 04 |
这篇关于SpringMVC源码剖析2——处理器映射器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!