springboot单体项目拆分为微服务模式后报错:dataSource or dataSourceClassName or jdbcUrl is required.

问题现象:

今天在项目中遇到一个问题:组长让我把一个springboot单体项目简单的拆分为微服务项目;

我将项目简单的拆分为:

1.controller+config模块

2.数据model+dao/mapper持久层模块

之后;运行项目却发生了如下报错:

问题分析:

通过查看报错信息:

java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required.

可以初步得知:是数据源dataSource出问题了,系统找不到数据源从而报错.

于是就去查看自己在拆分为微服务项目之后,下面这些地方是否有配置错误:

1.数据model+dao/mapper持久层模块中的mapper接口和Mapper.xml文件中对应的文件路径是否有错误.

2.应用mapper接口方法的controller+config模块中导入的包路径是否改名或者正确路径错误.

3.父子模块的pom.xml是否有配置层级联系.

4.controller+config模块的pom.xml是否有导入需要调用的数据model+dao/mapper持久层模块的依赖包.

检查之后发现都没有问题,但就是依旧是报这个错误.

最后通过这个报错信息我才知道问题所在:

这里提到了:HikariPool-1 - dataSource or dataSourceClassName or jdbcUrl is required.

关键字是:

HikariPool-1

通过查询资料我发现:

原来我的项目配置文件中使用的是springboot2的数据源:Hikari

通过查看我的application.properties配置文件可以发现,我的数据源配置如下:

我估计这样配置是不规范的,在单体项目中或许不会有问题(系统可能会自动搜寻当前项目中的数据源配置);但不是单体项目的时候就会搜寻不到了,

因此需要将这里的数据源配置改为Hikari的数据源配置方式.


解决方法:

将配置文件中关于数据源的配置修改为:

结果:运行成功

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值