springboot 拦截器中无法注入 RedisTemplate

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

  我的拦截器如下:

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

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

猜你喜欢

转载自www.cnblogs.com/jingjiren/p/12822417.html