Spring boot Spring启动-Hikari数据库配置

Spring boot Spring启动-Hikari数据库配置,spring-boot,jdbc,hikaricp,Spring Boot,Jdbc,Hikaricp,最近正在将代码迁移到SpringBoot2.x,我在配置DataSourceBean时遇到了一个问题。我们有两个数据源,因此我们正在使用DataSourceBuilder手工构建数据源bean 根据,我正在设置以下属性: spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.username=sa spring.datasource.

最近正在将代码迁移到SpringBoot2.x,我在配置DataSourceBean时遇到了一个问题。我们有两个数据源,因此我们正在使用DataSourceBuilder手工构建数据源bean

根据,我正在设置以下属性:

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
但是,当我这样做时,会出现以下错误:

java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.
at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:1059) ~[HikariCP-2.7.9.jar:na]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:109) ~[HikariCP-2.7.9.jar:na]
如果我更改设置以执行此操作:

spring.datasource.jdbcUrl=jdbc:mysql://localhost/test
然后它就起作用了

如果我注释掉显式创建数据源的bean,它也适用于单个数据源,这使我相信datasourcebuilder代码中存在问题

此处提供了一个示例存储库,其中仅包含一个显示问题的数据源:


那么,当有多个数据源时,从配置的角度来看,SB 1.5.X和SB 2.X之间发生了什么变化?

您缺少数据源属性的配置,直接尝试连接它

您需要遵循以下文档来实现您首先要做的事情:

顺便说一句,有人犯了同样的错误,并在git中作为bug提出,如果您愿意,您可以看到相同的文档被称为解决方案:

请在回答中提供解决方案,链接仅用于支持信息或进一步详细信息。答案不应该是你做错了,看看这个链接如何解决这个问题。@jazz-继续,并标记为答案,尽管很高兴在SB 1.5.X中指出这是一个改变。你的问题到底是什么?@MarkRotterVeel-添加了编辑,底部有问题。