栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot拦截器不生效

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot拦截器不生效

       今天新开了服务,需要用到拦截器,好久没看spring的东西了,好多东西都忘了。。。这个项目框架是另一个同事搭建的,我需要创建一个拦击器处理鉴权问题,但是不好使然后具体查了下原因。

在网上找了下,大致有这么几种情况:

    缺少注解:@Component或者@Configuration注解     启动类没有扫描到:@ComponentScan没扫描到     路径配置错了:addPathPatterns(“/**”);//   /**代表所有目录;/*代表当前目录

然并软,我没有上面的问题。。。搞了好几个小时跟着源码发现另一个拦截器竟然起作用了!!!看了下另一个Config拦截器继承了WebMvcConfigurationSupport

springboot只会生效一个配置类,于是我将两个Config配置类合成一个,然后可以啦!

值得注意的是,我将WebConfig里的WebMvcConfigurationSupport改成WebMvcConfigurer或者WebMvcConfigurerAdapter也是不行的。

所以说,项目中不能有两个以上的类继承自这三个类。在重写addInterceptors后注意你的代码里面有没有其他地方继承或实现了WebMvcConfigurationSupport、WebMvcConfigurerAdapter、WebMvcConfigurer。

一定要统一,不能是有的类继承这个,有的类继承那个!!!

继承WebMvcConfigurerAdapter或实现WebMvcConfigurer,功能差不多,可以在Application类中继承或实现,也可以在其他的地方。重写的方法都会执行。

继承WebMvcConfigurationSupport,若多个类继承该类,只会有一个类中的重写的方法执行!!!

优先级:与Application平级>其他路径下的类,优先级高的类执行后,其他类不会执行。注意,不能在Application类中继承,即使继承了,重写的方法也不会生效。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号