记一次springboot3使用MyBatis Plus多数据源dynamic启动报错


)

问题背景

拿来之前springboot2的项目架子,直接更新父pom编译通过, 直接启动项目:

错误现象1 :“Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.”
具体报错如下:

在这里插入图片描述
很明显 是因为 dynamic 加载失败了?

解决方案

先说解决方案
自从 springboot3 开始多数据源依赖已经变更为:


        <!-- Dynamic DataSource  dynamic-datasource.version: 4.1.2 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
            <version>${dynamic-datasource.version}</version>
        </dependency>

错误根源

盲目使用最新版本,未关注版本兼容性要求。

回顾解决过程(大约5min)

犯了一个经常犯错的地方就是 直接去仓库找当前依赖的最新版本 以为就可以正常使用:结果直接翻车:

版本 4.3.0 更新版本再启动
在这里插入图片描述
然后才去看了 官方文档 描述如下:
在这里插入图片描述
附上一份版本兼容性对照表

dynamic-datasource版本 兼容的Spring Boot版本
4.1.x Spring Boot 3.0.x
4.3.x Spring Boot 3.2.0+

总结

  1. 不要盲目追求最新版本
  2. 始终关注依赖的版本兼容性
  3. 查看官方文档是解决问题的关键

写在最后

希望这篇文章能帮助大家避免类似的版本坑。如果你有更好的经验分享,欢迎留言交流!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐