zoukankan      html  css  js  c++  java
  • 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);
        }

    才知道原因了。呵呵。

  • 相关阅读:
    PID控制心得 2013/2/11
    在LaTeX文档中插入图片的几种常用的方法
    学习总结 2013/2/11
    eclipse 中引用其他项目及项目打包
    随笔2013/2/13
    随笔2013/2/19
    【转载】Latex对中文的支持 模版
    Latex 第二个程序
    Fences 桌面图标整理收纳箱
    消除“星期一综合症” 大前研一的周末时间分配术
  • 原文地址:https://www.cnblogs.com/beiyeren/p/3488170.html
Copyright © 2011-2022 走看看