springboot整合redis,测试遇到的坑
第一个错误:显示“No beans of ‘RedisTemplate’ type found. ”新增配置类之后我又出现了第二个问题找不到RedisConnectionFactory的问题。试了两种解决方案:一:把@Autowired注解改为@Resource按照名字注入。,转载请注明原文链接:http://www.dxzl8.com/同样对于jedis,我又新导入了“jedis”maven坐标
第一个错误:显示“No beans of ‘RedisTemplate’ type found. ”
试了两种解决方案:一:把@Autowired注解改为@Resource按照名字注入
二:仍使用@Autowired,新增自定义RedisConfig配置类,自定义Bean
如下代码:
@Bean
public RedisTemplate<string,object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<string,object> template = new RedisTemplate<string,object deep="7">();
//连接工厂
template.setConnectionFactory(factory);
GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
// key采用String的序列化方式
template.setKeySerializer(new StringRedisSerializer());
// hash的key也采用String的序列化方式
template.setHashKeySerializer(new StringRedisSerializer());
// value序列化方式采用jackson
template.setValueSerializer(jsonRedisSerializer);
// hash的value序列化方式采用jackson
template.setHashValueSerializer(jsonRedisSerializer);
template.afterPropertiesSet();
return template;
}</string,object></string,object></string,object>
新增配置类之后我又出现了第二个问题找不到RedisConnectionFactory的问题。
第二个问题:找不到RedisConnectionFactory
解决方案:以lettuce为例,首先肯定要导入maven坐标
“spring-boot-starter-data-redis”,
“commons-pool2”
以及application.yml的配置
redis:
host: 127.0.0.1
port: 6379
database: 0
lettuce:
pool:
max-active: 8
max-idle: 8
max-wait: 100
min-idle: 0
最后在刚刚redis配置类中加入自定义bean“RedisConnectionFactory”
@Bean
public RedisConnectionFactory redisConnectionFactory() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
return lettuceConnectionFactory;
}
我这就完美解决了。
同样对于jedis,我又新导入了“jedis”maven坐标,
将配置类中 new LettuceConnectionFactory();改为jedis就可以。
文章转自:springboot整合redis,测试遇到的坑_Java-答学网
作者:答学网,转载请注明原文链接:http://www.dxzl8.com/

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)