[BUG] Spring Data Redis 并没有提供一个全局默认的 RedisTemplate 实例,需要自己创建并配置一个 RedisTemplate bean,以便在其他组件中使用。
***************************
APPLICATION FAILED TO START
***************************
Description:
Field redisTemplate in com.javaee.cacheredis.service.impl.StudentServiceImpl required a bean of type 'org.springframework.data.redis.core.RedisTemplate' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'org.springframework.data.redis.core.RedisTemplate' in your configuration.
Disconnected from the target VM, address: '127.0.0.1:10435', transport: 'socket'
在使用 Spring Data Redis 的时候,确实需要配置 RedisTemplate 来定义 Redis 的连接信息、序列化方式等。这是因为 RedisTemplate 是用来与 Redis 进行交互的核心类,它需要进行一些初始化和配置操作才能正常工作。
默认情况下,Spring Data Redis 并没有提供一个全局默认的 RedisTemplate 实例。因此,你需要自己创建并配置一个 RedisTemplate bean,以便在其他组件中使用。
解决配置RedisTemplate @bean–配置类
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
// 设置其他的序列化器等
return redisTemplate;
}