当前使用版本(必填,否则不予处理)
3.4.3
该问题是如何引起的?(确定最新版也有问题再提!!!)
https://github.com/baomidou/mybatis-plus/blob/bcba617a8ad969667150b0ad678c4112bff7b931/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/IdentifierGeneratorAutoConfiguration.java#L32-L49
45 行构造函数在多数据源分别使用不同的 mybatis 配置的情况下, 无法判断注入哪个bean导致启动失败.
重现步骤(如果有就写完整)
再定义一个mybatis 配置
@Configuration
@ConfigurationProperties(prefix = "mybatis-plus.primary")
public final class PrimaryDbProperties extends MybatisPlusProperties {
}
报错信息
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 1 of constructor in com.baomidou.mybatisplus.autoconfigure.IdentifierGeneratorAutoConfiguration$InetUtilsAutoConfig required a single bean, but 2 were found:
- mybatis-plus.xxxxx.PrimaryDbProperties: defined in null
- mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties: defined in null
Comment From: qmdx
to https://github.com/baomidou/dynamic-datasource-spring-boot-starter
Comment From: timandy
我贴一下解决方案吧, 如果不想用那个多数据源包, 使项目包体积变大. 只需要添加以下的类
/**
* 排除默认配置, 以修复启动报错
*/
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration(exclude = {MybatisPlusAutoConfiguration.class, IdentifierGeneratorAutoConfiguration.class})
public class FixMybatisPlusAutoConfiguration {
}