Java识堂,一个高原创,高收藏,有干货的微信公众号,欢迎关注
![0d469abf407821d5782f8d420c10a9d8.png](https://i-blog.csdnimg.cn/blog_migrate/0fbb5422b7f88a75b191e34501d0325a.jpeg)
其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了。下面主要介绍两种常用的拦截器:
一、基于URL实现的拦截器:
![b6a2507a32be15c22b7a2d49af9397c8.png](https://i-blog.csdnimg.cn/blog_migrate/6f3b5e12688c6fa59f41c77185d6923e.jpeg)
关键代码:path.matches(Const.NO_INTERCEPTOR_PATH 就是基于正则匹配的url。
![a2412f2ee9c17ff6a71f262114c7e3f4.png](https://i-blog.csdnimg.cn/blog_migrate/89e04e7bbd902a53a653bac856b58489.jpeg)
二、基于注解的拦截器
①创建注解:
![ab4a545250425bbccecbf9763f7db987.png](https://i-blog.csdnimg.cn/blog_migrate/760be7199f112143744b02d5070dd229.jpeg)
②创建拦截器:
![9772b3c9c334f1747e5a309f89711786.png](https://i-blog.csdnimg.cn/blog_migrate/7d17e80e57ed6c4935d7309b6fe742b2.jpeg)
三、把拦截器添加到配置中,相当于SpringMVC时的配置文件干的事儿:
![9d0f2373a6afe5379311f5362fdefdb9.png](https://i-blog.csdnimg.cn/blog_migrate/6c4a2cc694261671ad2c3cb3f8d5fbed.jpeg)
1、一定要加@Configuration 这个注解,在启动的时候在会被加载。
2、有一些教程是用的“WebMvcConfigurerAdapter”,不过在spring5.0版本后这个类被丢弃了 WebMvcConfigurerAdapter ,虽然还可以用,但是看起来不好。
3、也有一些教程使用的WebMvcConfigurationSupport,我使用后发现,classpath:/META/resources/,classpath:/resources/,classpath:/static/,classpath:/public/)不生效。具体可以原因,大家可以看下源码因为:WebMvcAutoConfiguration上有个条件注解:
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
所以还是建议使用WebMvcConfigurer, 其实springMVC很多东西,都可以搬到springboot中来使用,只需要把配置文件的模式,改成 对应@Configuration 类就好了。
![7a4af64c0afc55fe4281e9b8f05fc729.png](https://i-blog.csdnimg.cn/blog_migrate/03ddf3af4acb71da66ce5abd5e5946d0.jpeg)
原文地址:https://my.oschina.net/bianxin/blog/2876640