SpringBoot拦截器不生效

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

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

    缺少注解:@Component或者@Configuration注解

    启动类没有扫描到:@ComponentScan没扫描到

    路径配置错了:addPathPatterns(“/**”);//   /**代表所有目录;/*代表当前目录

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

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

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

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

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任玉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值