Spring是怎样检测并处理我们@RequestMapping注解的:
扫描所有注册的Bean
遍历这些Bean,依次判断是否是处理器,并检测其HandlerMethod
遍历Handler中的所有方法,找出其中被@RequestMapping注解标记的方法。
获取方法method上的@RequestMapping实例。
检查方法所属的类有没有@RequestMapping注解
将类层次的RequestMapping和方法级别的RequestMapping结合 (createRequestMappingInfo)
当请求到达时,去urlMap中需找匹配的url,以及获取对应mapping实例,然后去handlerMethods中获取匹配HandlerMethod实例。
将RequestMappingInfo实例以及处理器方法注册到缓存中。
扫描所有注册的Bean
遍历这些Bean,依次判断是否是处理器,并检测其HandlerMethod
遍历Handler中的所有方法,找出其中被@RequestMapping注解标记的方法。
获取方法method上的@RequestMapping实例。
检查方法所属的类有没有@RequestMapping注解
将类层次的RequestMapping和方法级别的RequestMapping结合 (createRequestMappingInfo)
当请求到达时,去urlMap中需找匹配的url,以及获取对应mapping实例,然后去handlerMethods中获取匹配HandlerMethod实例。
将RequestMappingInfo实例以及处理器方法注册到缓存中。