什麼是spring的迴圈依賴問題?
阿新 • • 發佈:2021-12-01
簡單說句。
今天報這個問題的時候我看了下我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