springboot拦截器 跳过_springboot 有关拦截器遇到的问题

最近改造搜索服务,原来是用 ngx + lua 写的,虽然性能很高,带来的问题是可维护性不太方便,不是指lua语言方面,是因为团队就2个开发人员,另外一个开发人员的擅长语言是Java,于是准备将搜索服务移植于Java语言,选型了现在当下的springboot,这样就可以让更多的人更维护这个服务。

我也是刚学springboot,以前也是自己玩过SSM框架,把遇到问题记录下来:

在登录拦截器中出现的问题

1、拦截器的排除路径方法用了不生效

excludePathPatterns拦截不到,login换成 * 也不行, 于是将拦截路径的逻辑写在 LoginInterceptor() 中,这样就引发了第二个问题,因为 /search 是配置的项目路径前缀,需要动态,放在第二个问题中解决

通过路径对比,如果是无需校验的路径直接房型

2、@Value注解获取不到配置信息

通过request方法能获取到需要的信息

3、@Service注入的service使用时发现为null

如果发现为null,直接根据request的上下文获取

//解决service为null无法注入问题

if (redisService == null) {

BeanFactory factory=WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());

redisService= (RedisService) factory.getBean("redisService");

}

String loginUserId= redisService.get(cacheKey);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值