之前登录系统用jwt的时候, 用RedisTemplate 使用redis, 遇到过这样一个问题, 在token验证拦截器 中要使用到RedisTemplate  连接到redis 取出存进去的token, 结果注入RedisTemplate时没注入进去, 为null了. 想想也对, 拦截器在上下文context之前, 怎么会注入呢

  我的拦截器如下:

springboot 拦截器中无法注入 RedisTemplate

  在自定义WebConfig中加入上面定义的拦截器:

springboot 拦截器中无法注入 RedisTemplate

  使用postman调用的时候。发现出现了空指针异常,debug发现,AccessLimitInterceptor中的Redistemplate为null。静下来想一想,拦截器加载的时间点在springcontext之前,即在bean实例化之前,所以在拦截器中注入自然为null 。那么我们就让拦截器执行的时候实例化拦截器Bean,在拦截器配置类里面先实例化拦截器,然后再获取就能解决这个问题啦。

  springBoot 使用RedisTemplate 整合Redis 详见  SpringBoot使用RedisTemplate整合Redis

相关文章:

  • 2021-08-08
  • 2021-08-31
  • 2022-12-23
  • 2021-05-03
  • 2022-02-26
  • 2021-04-26
  • 2021-06-25
  • 2022-12-23
猜你喜欢
  • 2022-03-06
  • 2021-06-09
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
  • 2021-07-17
相关资源
相似解决方案