这个异常表示在 Spring 容器中找不到一个唯一的类型为 'org.springframework.transaction.TransactionManager' 的 bean,因为在候选 bean 中有多个 'primary'(主要)的 bean,包括 'transactionManagerMysqlAccountActiveDB'、'transactionManagerMysqlActivity' 和 'transactionManagerOracleData'。

为了解决这个问题,您可以使用 @Qualifier 注解来指定要注入的 bean。例如,如果您想使用名为 'transactionManagerMysqlAccountActiveDB' 的 bean,您可以将 @Qualifier('transactionManagerMysqlAccountActiveDB') 添加到使用 @Autowired 或 @Inject 注解的字段或方法参数上。

另一种解决方案是使用 @Primary 注解来指定一个主要的 bean。例如,您可以在 'transactionManagerMysqlAccountActiveDB' 上添加 @Primary 注解,Spring 容器将默认选择该 bean。如果您想使用其他的 bean,您可以使用 @Qualifier 注解来指定。

Spring 异常: NoUniqueBeanDefinitionException: 如何解决多个'primary' TransactionManager Bean

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

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