No qualifying bean of type 'org.springframework.data.redis.core.RedisTemplate' available: expected single matching bean but found 2: redisTemplate,stringRedisTemplate org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.data.redis.core.RedisTemplate' available: expected single matching bean but found 2: redisTemplate,stringRedisTemplate怎么指定注入的bean
时间: 2023-09-28 08:05:28 浏览: 216
org.springframework.transaction-3.2.4.RELEASE.jar
5星 · 资源好评率100%
出现这个异常的原因是因为Spring容器中存在两个类型相同的RedisTemplate实例,而Spring无法自动选择注入哪个实例,因此需要手动指定注入的bean。
可以使用@Qualifier注解来指定需要注入的bean。具体做法是在需要注入RedisTemplate的地方,添加@Qualifier注解,并指定需要注入的bean的名称,如下所示:
```
@Autowired
@Qualifier("redisTemplate") // 指定注入redisTemplate bean
private RedisTemplate redisTemplate;
```
其中,redisTemplate是需要注入的bean的名称,需要与实际定义的bean名称相同。如果还存在其他的RedisTemplate实例需要注入,可以使用不同的@Qualifier注解来指定不同的bean名称,以区分不同的实例。
阅读全文