SpringBoot1.x添加拦截器
1、写一个类,继承WebMvcConfigurerAdapter抽象类。
2、重写addInterceptors方法,调用registry.addInterceptor把拦截器添加进去。
3、这个类也记得添加上@Configuration或者@SpringBootConfiguration注解。
SpringBoot2.x添加拦截器
1、因为SpringBoot2.x对应的是Spring5.x,而Spring5.0以后,WebMvcConfigurerAdapter已经过时了。
2、这时我们可以继承WebMvcConfigurationSupport或者实现WebMvcConfigurer接口。
这时候,大坑来了:
一旦继承WebMvcConfigurationSupport后就会出现新的问题,会
发现Spring Boot的WebMvc自动配置失效,具体表现比如访问不
到静态资源(js,css等)了,这是因为WebMvc的自动配置都在
WebMvcAutoConfiguration类中,但是类中有这个注解
@ConditionalOnMissingBean({WebMvcConfigurationSupport.clas
s}),意思是一旦在容器中检测到WebMvcConfigurationSupport这
个类,WebMvcAutoConfiguration类中的配置都不生效。所以一
旦我们自己写的配置类继承了WebMvcConfigurationSupport,相
当于容器中已经有了WebMvcConfigurationSupport,所以默认配
置都不会生效,都得自己在配置文件中配置。
3、所以最后我还是推荐实现WebMvcConfigurer接口来添加拦截器
4、测试访问静态资源,那是没问题的