[随记]-SpringMVC中的handler到底是什么东西

HandlerMapping

初始化时候的 HandlerMapping 有,按顺序排列:

  1. requestMappingHandlerMapping
  2. beanNameHandlerMapping -> {BeanNameUrlHandlerMapping}
  3. routerFunctionMapping
  4. resourceHandlerMapping -> {SimpleUrlHandlerMapping@8294}
  5. welcomePageHandlerMapping

HandlerMapping 中 Handler可能的值:

在 HandlerInternal 中

  1. controller 的 bean 名称
  2. 如果是 bean 名称 spring mvc 会自动转化为 controller 的实例
    然后对外会封装成一个 HandlerMethod 对象

在 HandlerExecutionChain 中

handler 就是 上一步的 HandlerMethod 对象

然后会根据 handler 和拦截器一起封装成一个 HandlerExecutionChain 对象返回到 DispatcherServlet,在DispathcerServlet中的handler,就是这个封装好的HandlerExecutionChain对象

spring mvc 对应 controller 方法的对象叫 RequestMappingInfo
对应的 controller 叫 HandlerMapping

posted @ 2022-04-07 19:27  去哪里吃鱼  阅读(170)  评论(0编辑  收藏  举报