Spring boot遇坑之配置数据源启动报错

1.spring boot升级到2.0之后,配置数据源会遇到这样的错误:

jdbcUrl is required with driverClassName.
Cause: java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required.] with root cause

解决:
在application配置文件中配置一下
1.0 配置数据源的过程中主要是写成:spring.datasource.url 和spring.datasource.driverClassName。

而在2.0升级之后需要变更成:spring.datasource.jdbc-url和spring.datasource.driver-class-name

2.配置数据源时还会遇到这个问题:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

解决:
需要把spring boot自动初始化DataSource相关的代码禁止掉,具体两种方式。
方式一:
在application启动类加红框标记的这句话

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class })

在这里插入图片描述
方式二:
在application配置文件,注意!是放在spring下的,与datasource对齐!

autoconfigure:
    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration

在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
当在使用JDK 17和Dynamic-Datasource 4.0尝试动态切换数据源时,如果遇到"Failed to determine a suitable driver class"错误,这通常意味着Java在试图连接数据库时找不到对应的数据源驱动程序。这里有几个可能的原因和解决方法: 1. **驱动程序缺失**:确保你已经将正确的数据库驱动程序添加到项目的类路径(classpath)中。例如,如果你使用的是MySQL,你需要mysql-connector-java JAR。 2. **Maven或Gradle配置问题**:如果你使用构建工具如Maven或Gradle管理依赖,检查pom.xml(Maven)或build.gradle(Gradle)文件中的数据库驱动依赖是否正确配置并且版本匹配。 3. **`spring-boot-devtools`影响**:如果在开发环境中使用了Spring Boot DevTools,尝试关闭它或配置不自动重启应用,因为DevTools可能会覆盖原有的DataSource配置。 4. **DataSource注解配置**:检查你的Spring Boot配置文件(application.properties或application.yml),确认数据源的driverClassName和url属性是否正确设置。 5. **环境变量或系统路径问题**:确保系统的CLASSPATH环境变量中包含了数据源驱动的JAR文件,或者在Java启动命令行中明确指定驱动路径。 6. **代码引用问题**:确保你的代码没有直接使用硬编码的Driver类名,而是通过SpringDataSourceJdbcTemplate等接口来访问数据库。 相关问题: 1. 如何查看当前项目依赖的数据库驱动类路径? 2. 如何在Spring Boot中正确声明和配置数据源? 3. 如果我手动添加驱动,如何确保其在启动时被加载?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟驿站ㅤ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值