博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMvc源码解读--AbstractUrlHandlerMapping系列
阅读量:6000 次
发布时间:2019-06-20

本文共 841 字,大约阅读时间需要 2 分钟。

  • SimpleUrlHandlerMapping定义了一个map变量,将所有的URL和handler的对应关系放在里面,最后注册在父类里面,SimpleUrlHandlerMapping创建时通过重写initApplicationContext调用registerHandlers方法完成handler的注册,registerHandlers内部又调用父类的registerHandler方法将我们注册的URL的Map注册到map之中。
  • AbstractDetectingUrlHandlerMapping也是通过initApplicationContext来注册handler的,里面调用了detectHandlers方法,在detectHandlers方法中跟住配置的detectHandlersInAncestorContexts的参数从Spring mvc容器中找到所有的bean的beanName,然后利用determineUrlsForHandler方法对每一个beanName解析出对应的urls,如果解析结果部位空的话,就将解析出的urls和beanName注册到父类的map。AbstractDetectingUrlHandlerMapping有三个子类。其中BeanNameUrlHandlerMapping是检查beanName和alias是不是以“/”开头的,如果是则将其作为URL,AbstractControllerUrlHandlerMapping是将实现了controller接口或者注解了@Controller的bean作为Handler,并且可以设置excludeClasses和excludePackages将不包含的bean或者不包含的包下的所有bean排除之外,determineUrlsForHandler方法负责将符合条件的handler找出来,而具体用什么URL则使用模版方法determineUrlsForHandler交给子类去做。

转载地址:http://gmzmx.baihongyu.com/

你可能感兴趣的文章
Linux下截图技巧
查看>>
“偷懒”的程序员
查看>>
WCF在安全性方面的支持(1):一些概念
查看>>
让窗体所有控件无效但close有效
查看>>
Android Studio 引用 gson-2.6.2-sources
查看>>
python 二叉树
查看>>
Dubbo超时和重连机制
查看>>
可视化之Earth NullSchool
查看>>
HTTP权威指南阅读笔记四:连接管理
查看>>
Html5 Canvas之arc函数图示详解
查看>>
又订阅了万维刚的精英日课
查看>>
SSIS Design7:数据类型的选择
查看>>
[Android]官网《UI/Application Exerciser Monkey》中文翻译
查看>>
ExtJS入门之三 查询
查看>>
mysql索引无效且sending data耗时巨大原因分析
查看>>
[Android]使用Dagger 2依赖注入 - API(翻译)
查看>>
水晶报表的导出和打印 Push
查看>>
【经验分享】卡方检验实战--检验次日留存率与用户分类的独立性
查看>>
为什么我还不推荐内存中OLTP给用户
查看>>
如何将字符串或者数字转换成大写货币
查看>>