SpringBoot配置拦截器以及注意事项

今天给Spring Boot 项目里配置拦截器时遇到一些问题,在这里总结一下。

首先,根据Spring的使用经验,我上来就选择了写一个配置类并继承WebMvcConfigurerAdapter,使用其addInterceptors(InterceptorRegistry registry)方法注册自定义的Interceptor,以达到目的。但是,我使用的SpringBoot 2.2.2版本显示WebMvcConfigurerAdapter已经过时,并不推荐使用,所以我换用WebMvcConfigurationSupport接口,除了两者接口和类的区别外,它们似乎并没有什么区别。

启动服务,测试,发现不仅拦截器没有起作用,而且系统访问JS等静态资源时失败,控制台报o.s.web.servlet.PageNotFound : No mapping for GET的警告消息。在网上看了很多资料仍然不知道哪里出问题。

然后在一票博客上了解到:WebMvcConfigurationSupport会忽略SpringBoot自动化配置,也就是说,在application.properties中配置的静态资源路径都会失效,而且相比WebMvcConfigurationSupport接口,继承WebMvcCongurer接口更合适:
WebMvcConfigurationSupport–>不需要返回逻辑视图,可以选择继承此类
WebMvcCofigurer–>返回逻辑视图,可以选择实现此方法,重写addInterceptor方法

下面例子:

拦截器类:

package cn.welfarezhu.billweb.interceptor;

import static cn.welfarezhu.billweb.util.SystemConstantValue.*;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值