Der Stacktrace deutet darauf hin, dass Sie das Bean, das Sie zum Einfügen in RedisTemplate
verwenden möchten, nicht definiert haben .Sie können es lösen, indem Sie eine Konfigurationsdatei erstellen, z. B.
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericToStringSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class AppConfig {
@Bean
JedisConnectionFactory jedisConnectionFactory() {
return new JedisConnectionFactory();
}
@Bean
RedisTemplate< String, Long > redisTemplate() {
final RedisTemplate< String, Long > template = new RedisTemplate< String, Long >();
template.setConnectionFactory( jedisConnectionFactory() );
template.setKeySerializer( new StringRedisSerializer() );
template.setHashValueSerializer( new GenericToStringSerializer< Long >( Long.class ) );
template.setValueSerializer( new GenericToStringSerializer< Long >( Long.class ) );
return template;
}
}
Sobald Sie die Konfigurationsdatei haben, müssen Sie sie an SpringApplication.run
übergeben Z. B.
Object[] sources = {AppConfig.class};
ApplicationContext ctx = SpringApplication.run(sources, args);