RedisTemplate 不能按类型装配注入


今天做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; 

测试通过。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM