springboot 配置多数据源的时提示:‘url‘ attribute is not specified and no embedded datasource could be configure

这两天有个需求 客户有多个不同系统 多个不同的数据库,根据现有几个数据库做数据整合引发了一系列问题:

我的目的是在application.yml 中配置多源进行数据抽取整合新数据存储:

先看配置文件:

配置文件不做过多解释 我是两个数据库用同一个dridu 如果你想每个数据库都要配置把公用的删掉在每个库下配一下就行

配置完了之后在pom中引入多数据源包:

<!--多数据源-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
    <version>4.3.0</version>
</dependency>

至此配置结束 小手不听使唤的 运行了项目本以为跟想象的一样结果可想而知:

大致是说:配置数据源失败:未指定'url属性,且无法配置嵌入式数据源。
原因:无法确定合适的驱动类。

我以为是没有引入mysql驱动 看了看pom中已经引入了不是缺包导致的,又以为是引入阿里数据源冲突了经过测试排除阿里数据源的问题,百度一下说是要在启动类中排除 禁用数据源自动配置

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

按照网上说的方法排在启动类中排除了,一启动 出现一系列问题 dao层,service层 无法注入bean 等自动装配失败 我了个大C 坑啊

后面经过研究:是我引入多数据源包跟我springboot的版本不兼容的问题,以下的多数据源包适合springboot版本3以下的

图一:

<!--多数据源-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
    <version>4.3.0</version>
</dependency>

而我的springboot的版本是3以上的需要引入多数据包也要 >=3 仔细看图一跟图二的区别

图二:

<!--多数据源-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
    <version>4.3.0</version>
</dependency>

既然能看到这篇文章说明 配置多数据源的用法都会了 我是用的@DS(" savle ") 注解方式进行切换数据源。

结束了哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值