关于一次MybatisPlus自动配置失效

今天在项目中配置了动态数据源,但是在引入了MybatisPlus后启动项目,却发现所有Mapper和SqlSession等等Bean没有被自动注入到容器中,猜测是自动配置失效,查看源码后发现MybatisPlusAutoConfiguration自动配置类上有注解@ConditionalOnSingleCandidate(DataSource.class),即在容器中只有一个DataSource候选Bean是才会启用自动配置,而我手动在容器中注入了一个主数据源和一个动态数据源,导致自动配置失效。并且由于将主数据源设为了动态数据源的默认数据源,所以最好的解决方案是在动态数据源上添加@Primary注解,让容器优先选择动态数据源

关于一次MybatisPlus自动配置失效

https://jktu.cc/关于一次MybatisPlus自动配置失效/

作者

udp_bbr

发布于

2022-11-17

更新于

2022-11-21

许可协议