本文介绍: 标注两个bean,将这两个bean进行重命名,以防止冲突。标注此bean,意思为这个bean是主要的。报错信息显示没有注入的。排除掉不需要bean

报错信息

Spring Boot 启动报错

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

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

解决办法

方法一:Primary

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

方法二:排除:exclude

使用 exclude 排除掉不需要的bean
例如@SpringBootApplication(exclude = MongoAutoConfiguration.class)

方法三:重命名:Qualifier

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注