今天做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;
测试通过。