[随记]-SpringMVC中的handler到底是什么东西
HandlerMapping
初始化时候的 HandlerMapping
有,按顺序排列:
requestMappingHandlerMapping
beanNameHandlerMapping -> {BeanNameUrlHandlerMapping}
routerFunctionMapping
resourceHandlerMapping -> {SimpleUrlHandlerMapping@8294}
welcomePageHandlerMapping
HandlerMapping 中 Handler可能的值:
在 HandlerInternal 中
- controller 的 bean 名称
- 如果是 bean 名称 spring mvc 会自动转化为 controller 的实例
然后对外会封装成一个 HandlerMethod 对象
在 HandlerExecutionChain 中
handler 就是 上一步的 HandlerMethod 对象
然后会根据 handler 和拦截器一起封装成一个 HandlerExecutionChain 对象返回到 DispatcherServlet,在DispathcerServlet中的handler,就是这个封装好的HandlerExecutionChain对象
spring mvc 对应 controller 方法的对象叫 RequestMappingInfo
对应的 controller 叫 HandlerMapping