No qualifying bean of type ‘org.springframework.transaction.TransactionManager‘ available: expected
作者:mmseoamin日期:2023-12-13

报错信息

Spring Boot 启动报错

No qualifying bean of type 'org.springframework.transaction.TransactionManager' available: expected single matching bean but found 2: transactionManager,mongoTransactionManager

报错信息显示:没有可注入的TransactionManager,因为要求此事物管理器应该是一个,但是发现了两个,容器不知道应该注入哪个,存在的两个容器分别是:transactionManager、mongoTransactionManager

解决办法

方法一:Primary

查找项目内bean名称为:transactionManager、mongoTransactionManager的bean,使用 @Primary标注此bean,意思为这个bean是主要的

方法二:排除:exclude

使用 exclude 排除掉不需要的bean

例如:@SpringBootApplication(exclude = MongoAutoConfiguration.class)

方法三:重命名:Qualifier

使用@Qualifier 标注这两个bean,将这两个bean进行重命名,以防止冲突