今天做RedisTemplate的測試,在Spring boot 中自動注入RedisTemplate,測試報錯。
@Autowired private RedisTemplate<Serializable,Serializable> redisTemplate;
報錯:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.data.redis.core.RedisTemplate<java.io.Serializable, java.io.Serializable>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
看spring boot文檔發現有這么一句:
If you add a @Bean of your own of any of the auto-configured types it will replace the default (except in the case of RedisTemplate the exclusion is based on the bean name ‘redisTemplate’ not its type).
將代碼改成:
@Resource private RedisTemplate<Serializable,Serializable> redisTemplate;
測試通過。
