当我们在新建一个拦截器,或过滤器中使用RedisTemplate时,往往会发现会一直报空指针异常,这是因为在过滤器或拦截器生效时,比你注入的更快,导致注入失败。
这个时候可以采用一种方案,就是使用一个静态的RedisTemplate ,使用这个静态的RedisTemplate,可以解决你的使用问题
@Component //注入Spring容器
public class RedisUtils {
@Resource
private RedisTemplate<String,Object> redisTemplate;
//赋值一个静态的redisTemplate
public static RedisTemplate redis;
@PostConstruct //构造时赋值
public void redisTemplate(){
redis=this.redisTemplate;
}