这个错误是由于 Spring 容器中有多个类型为 'org.springframework.transaction.TransactionManager' 的 bean,但没有明确指定使用哪一个 bean。解决方法有以下两种:

  1. 明确指定使用哪一个 bean

在需要使用 TransactionManager 的地方,使用 @Qualifier 注解明确指定使用哪一个 bean,例如:

@Autowired
@Qualifier('transactionManagerMysqlAccountActiveDB')
private TransactionManager transactionManager;
  1. 移除多余的 bean 或指定一个 primary bean

移除多余的 bean,或者在其中一个 bean 上使用 @Primary 注解指定为 primary bean,例如:

@Bean
@Primary
public TransactionManager transactionManagerMysqlAccountActiveDB() {
    // ...
}

这样在需要使用 TransactionManager 时,就不需要再使用 @Qualifier 注解指定了,直接使用 @Autowired 注解即可。

Spring Boot 中解决 'NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.transaction.TransactionManager' available' 错误

原文地址: https://www.cveoy.top/t/topic/oKNC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录