Java识堂,一个高原创,高收藏,有干货的微信公众号,欢迎关注
![6e4e2103aa34afe13a29cacdfd5cdf52.png](https://i-blog.csdnimg.cn/blog_migrate/822cb202c57cd2108414c813e1604ce2.jpeg)
其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了。下面主要介绍两种常用的拦截器:
一、基于URL实现的拦截器:
![78a4d9de8fae6ae880d317dbd99f3043.png](https://i-blog.csdnimg.cn/blog_migrate/506fd65d973478c27207891730a8c490.jpeg)
关键代码:path.matches(Const.NO_INTERCEPTOR_PATH 就是基于正则匹配的url。
![0be5c12870628860f73ce7d61a017793.png](https://i-blog.csdnimg.cn/blog_migrate/1811be9ccf127033f843e96864ae6e92.jpeg)
二、基于注解的拦截器
①创建注解:
![5d32b1f0203f990ccf726452f522f924.png](https://i-blog.csdnimg.cn/blog_migrate/e5268d426f5b5b4da7737820e91bdec1.jpeg)
②创建拦截器:
![8a53cd8b9b6982a96b45e3ae01c9fad3.png](https://i-blog.csdnimg.cn/blog_migrate/40212ec5d7db35b70a3d6e3d77e6b43b.jpeg)
三、把拦截器添加到配置中,相当于SpringMVC时的配置文件干的事儿:
![547040ab76b37e68807c718856943142.png](https://i-blog.csdnimg.cn/blog_migrate/32a5d4af28d180fa53c881bdc935e0ff.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 类就好了。
![e470029a89bc200d854484b529ce51b0.png](https://i-blog.csdnimg.cn/blog_migrate/c3eab77c60979fd0222e78372292d51d.jpeg)
原文地址:https://my.oschina.net/bianxin/blog/2876640