什么是spring的循环依赖问题?
简单说句。
今天报这个问题的时候我看了下我redis配置的写法:
@Configuration
public class RedisConfig {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
/**
* 去掉key前面的乱码
* @return
*/
@Bean
public RedisTemplate<String, Object> redisTemplateInit(RedisConnectionFactory redisConnectionFactory) {
//设置序列化Key的实例化对象
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}
这样写,效果就是装载配置类,spring会从容器里找RedisTemplate,但是此时RedisTemplate还没进入容器,而RedisTemplate进入容器又要求RedisConfig,就循环了。
正确写法如下:
@Configuration
public class RedisConfig {
// @Autowired
// private RedisTemplate<String, Object> redisTemplate;
/**
* 去掉key前面的乱码
* @return
*/
@Bean
public RedisTemplate<String, Object> redisTemplateInit(RedisConnectionFactory redisConnectionFactory) {
//设置序列化Key的实例化对象
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}
本文来自博客园,作者:imissinstagram,转载请注明原文链接:https://www.cnblogs.com/LostSecretGarden/p/15627836.html