资讯专栏INFORMATION COLUMN

SpringMvc源码解读--AbstractUrlHandlerMapping系列

mj / 999人阅读

摘要:定义了一个变量,将所有的和的对应关系放在里面,最后注册在父类里面,创建时通过重写调用方法完成的注册,内部又调用父类的方法将我们注册的的注册到之中。

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交给子类去做。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72595.html

相关文章

  • springMvc源码解读--AbstractUrlHandlerMapping

    摘要:系列都是继承于,它是通过来进行匹配的,是将与对应的保存在一个中,在方法中使用从中获取,中实现了具体用从中获取的过程,而将的初始化则交给了具体的子类去完成。这里的就是定义在中的,另外还单独定义了处理请求的处理器。 AbstractUrlHandlerMapping系列都是继承于AbstractUrlHandlerMapping,它是通过URL来进行匹配的,是将URL与对应的handler...

    dendoink 评论0 收藏0
  • springMvc源码解读--HandlerMapping

    摘要:它的作用是根据找到相应的处理器和接口里面只有一个方法只要使用就会返回一个,当然我们可以定义自己的实现类来实现。 HandlerMapping:它的作用是根据request找到相应的处理器handler和interceptors,HandlerMapping接口里面只有一个方法HandlerExecutionChain getHandler(HttpServletRequest req...

    VishKozus 评论0 收藏0
  • SpringMVC源码分析--HandlerMapping(三)

    摘要:与类图对比,类继承自抽象类,其又继承自抽象类,再往上继承关系与一致。创建初始化上一章我们分析了的创建初始化过程,的创建初始化过程与一样,方法的入口在抽象类中的方法。至此,代码编写完毕。 概述 本节我们继续分析HandlerMapping另一个实现类BeanNameUrlHandlerMapping,从类的名字可知,该类会根据请求的url与spring容器中定义的bean的name属性值...

    fsmStudy 评论0 收藏0
  • SpringMVC源码分析--HandlerMapping(二)

    摘要:由于抽象类重写了父类的方法,所以此时会调用的方法,在该方法中通过调用父类的方法,该方法通过模板方法模式最终调到类的方法。分析该类间接实现了接口,直接实现该接口的是抽象类,映射与请求。 概述 在前一章https://segmentfault.com/a/1190000014901736的基础上继续分析,主要完成SimpleUrlHandlerMapping类的原理。 本系列文章是基于Sp...

    Imfan 评论0 收藏0
  • SpringMvc 源码解读——AbstractHandlerMethodMapping系列

    摘要:继承于继承于,其中系列是将作为来使用的,比如所注释的方法就是这种。的定义如下这里的其实就是在中注释的内容。系列的创建过程是实现了接口,所以容器会自动调用其方法,有交给方法完成具体的初始化。 RequestMappingHandlerMapping继承于RequestMappingInfoHandlerMapping继承于AbstractHandlerMethodMapping,其中Ab...

    ninefive 评论0 收藏0

发表评论

0条评论

mj

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<