spring mvc为何多注入了个SimpleUrlHandlerMapping?

最近在调试项目时,debug DispatcherServlet时,发现handlerMappings属性包含了RequestMappingHandlerMapping、SimpleUrlHandlerMapping、BeanNameUrlHandlerMapping。

可是我明明只声明了

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>

真是百思不得解啊,因为是旧项目基础改造的,以为是别的地方有隐秘用法,找了半天,没找到,今天下班时,突然想到我注册了

<mvc:resources location="" mapping=""/>

翻看ResourcesBeanDefinitionParser,查到了关键代码:

1.

RootBeanDefinition handlerMappingDef = new RootBeanDefinition(SimpleUrlHandlerMapping.class);
     handlerMappingDef.setSource(source);
     handlerMappingDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
     handlerMappingDef.getPropertyValues().add("urlMap", urlMap);

2.

// Ensure BeanNameUrlHandlerMapping (SPR-8289) and default HandlerAdapters are not "turned off"
     // Register HttpRequestHandlerAdapter
     MvcNamespaceUtils.registerDefaultComponents(parserContext, source);

指向

public static void registerDefaultComponents(ParserContext parserContext, Object source) {
       registerBeanNameUrlHandlerMapping(parserContext, source);
        registerHttpRequestHandlerAdapter(parserContext, source);
        registerSimpleControllerHandlerAdapter(parserContext, source);
    }

才知道原因了。。

更多相关文章
  • spring mvc 3.1的自動注入參數遇到的問題
    在网上下载了xheditor作为页面的编辑器,编辑内容后post到后台保存,后台方法用sp
  • <Spring 验证.数据綁定和类型转换>那篇Spring官方Doc文档的翻译并没有涉及具体使用的细节,本篇结合Spring MVC表单数据上传这个通用应用场景写一下笔者的实践. (转载请注明出处,谢谢) POST方式新增业务模型类,Spring MVC通过 @ModelAttribut ...
  • In Spring MVC application, the SimpleUrlHandlerMapping is the most flexible handler mapping class, which allow developer to specify the mapping of URL ...
  • 


    		    Spring MVC 3 深入總結
    一.前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了.Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. 官方的下载网址是:http://www.springsource. ...
  • 概述 第1 部分 拦截器类 第2 部分 拦截器配置 第3 部分 实例 参考 第1 部分 拦截器类 一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理. Spring
  • 


    		    Spring MVC 3.0版本 深入講解
    Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了.Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. 官方的下载网址是:http://www.springsource.org/downlo ...
  • Spring mvc源碼url路由我們到底能走多遠系列(38)
    我们到底能走多远系列38 扯淡: 马航的事,挺震惊的.还是多多珍惜身边的人吧.   主题: Spring mvc 作为表现层的框架,整个流程是比较好理解的,毕竟我们做web开发的,最早也经常接触的就是一个request进一个response出的http请求. 一个表现层框架,一下三点组成了一个完整的
  • Spring MVC 教程,快速入門,深入分析  博客分類: SPRING
    资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf SpringMVC核心配置文件示例.rar     作者:赵磊 博客:http://elf8848.iteye.com   目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spr ...
一周排行
  • 


    		    Vmware克隆centos6。0以上問題
    在vmware中克隆Centos6.0以上版本都会出现网卡和设备文件不匹配的问题. 编辑/ ...
  • 1.挂载光盘安装USB查看工具lsusb [[email protected] ~]# mkdir /mnt/cdrom [[email protected] ~]# mount /dev/cdrom /mnt/cdrom mo ...
  • #!/usr/bin/env python3 # -*- coding:UTF-8 -*- 用作calculator 运算符 //** _ #最后一次表达式的值 字符串 r #raw strings >> ...
  • 暂时只是跑起来了,不知道是否正确,困了,睡觉了,改天再弄.搜索那块是分页的,也没仔细弄... 参考着 http://blog.csdn.net/kingskyleader/article/details/8739 在 ...
  • NuGet學習筆記(1)——初識NuGet及快速安裝使用
    转自:http://kb.cnblogs.com/page/143190/   关于NuG
  • 手把手教你寫Windows 64位平台調試器
    本文网页排版有些差,已上传了doc,可以下载阅读.本文中的所有代码已打包,下载地址在此.
  • 问题原因:罪魁祸首是web.xml下对spring的DispatcherServlet请求url映射的配置,原配置如下: <servlet> <servlet-name>spring</ ...
  • 我的听写结果,各位多指教 Beginning in march the fish start with journey 800 km up river form the pacific ocean,the sprin
  • 昨天装系统碰到"0xffffd7e9"指令引用的"0xffffd7e9"内存,该内存不能为"read",尝试了好几个系统都是0xffffd7e9" ...
  • 通过Tools>>Build System>>New Build System弹出新建文件来设置,也可以replace覆盖以前的 一种方式,konsole可以通过sudo apt-get in ...