记一次springboot3使用MyBatis Plus多数据源dynamic启动报错
- 问题背景
- 解决方案
- 错误根源
- 回顾解决过程(大约5min)
- 总结
- 写在最后
)
问题背景
拿来之前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+ |
总结
- 不要盲目追求最新版本
- 始终关注依赖的版本兼容性
- 查看官方文档是解决问题的关键
写在最后
希望这篇文章能帮助大家避免类似的版本坑。如果你有更好的经验分享,欢迎留言交流!