springboot 拦截器中无法注入 RedisTemplate


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

  我的拦截器如下:

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

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM