关于Springboot配置数据库数据源时的小坑

今天在做Springboot的小项目时,遇到了一个挺不容易发现的bug,给大家避避坑,在项目基本环境搭建好准备运行测试一下时,让人头疼的“小虫子”出现了:

"Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured."大致就是数据源中的"url"配置有问题,我刚开始数据源配置如下:

spring:
  datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
      username: root
      password: root

我想可能是我"url"中有配置写错了,但是仔细检查并没有发现错误,然后我将"url"改为

url: jdbc:mysql://localhost:3306/reggie

但是还是会报相同的错误,我在网上查询,有人说因为导入了不需要的依赖导致,也有人说因为配置文件写错了,还有人说因为配置没有被扫描上导致等等,但是这些原因我一一排查了,还是报错,这就让人很头疼。

然后我仔细查看了Springboot数据源的配置文件示例,发现有示例在使用Druid数据源配置了

type: com.alibaba.druid.pool.DruidDataSource

而不是在"datasource"下直接加"druid",我去尝试了一下,发现用了"type"后正常运行了。

对于我刚开始的配置写法,我一直记得是这样写的,网上也有这样写法的示例,且IDEA也是这样提示的,所以我一直觉得自己配置没问题,耽误了很久,至于为什么这种写法会报错,个人猜想可能因为Springboot或者数据库版本更新。

也是给大家在遇到"Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured."时,提供一种思路吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值