源码解读
详情请参考 拦截器 HandlerInterceptor(SpringMVC)自定义及原理分析,这篇文章介绍已经很详细,就不重复造轮子了。补充一点内容。
拦截器是如何装载进去的
如上图所示展示了拦截器的拦截过程,但是拦截器是如何装载进来的呢。这里就不得不提RequestMappingHandlerMapping—RequestMapping注解的处理器。
梳理一下RequestMappingHandlerMapping Bean的装载过程,在初始化bean的时候,会通过WebMvcAutoConfiguration调用WebMvcConfigurationSupport来自动装配实现了HandlerInterceptor的拦截器,所以自定义的HandlerMapping需要手动去把HandlerInterceptors装配到相应的Bean里,才能够时拦截器对自定义注解生效。