RedisTemplate自动注入为null的情况

RedisTemplate自动注入为null的情况

在springboot项目中使用缓存redis时,如果依赖添加正确仍然出现自动注入为空的情况,可以尝试下面的操作。

写一个redis工具类

1
2
3
4
5
6
7
8
9
10
11
@Component
public class RedisUtil {
@Autowired
private RedisTemplate redisTemplate;
public static RedisTemplate redis;
@PostConstruct
public void getRedisTemplate(){
redis=this.redisTemplate;
}

}

然后在你的业务实现类如InvestorServiceImpl中调用改工具类实现赋值操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Override
public investor getDetail(String id) {
RedisTemplate redisTemplate= RedisUtil.redis;//通过工具类实现RedisTemplate 的创建
investor inv = null;
System.out.println(redisTemplate);
Object o = redisTemplate.opsForValue().get("investorId_" + id);
if(o!=null){
inv=(investor)o;
}else{//我这里是通过使用mybatis实现数据库的操作
SqlSession sqlSession= MybatisUtil.getSqlSession();
IInvestor iInvestor=sqlSession.getMapper(IInvestor.class);
inv=iInvestor.getDetail(id);
if(inv!=null){
redisTemplate.opsForValue().set("investorId_" + id,inv);
}
sqlSession.close();
}
return inv;
}

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

继开 wechat
欢迎加我的微信,共同交流技术