Spring 引导 2:如何使用 application.properties 文件配置 HikariCP

Spring Boot 2: How to configure HikariCP using application.properties file

我对 Spring 和 Spring Boot 比较陌生,但我似乎找不到关于如何使用 Spring Boot、Flyway 和 Spring 启动 JPA,它实际上 运行 在我的机器上。我总是遇到同样的问题:

Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required.

我正在尝试通过 application.properties 文件完全配置 HikariCP,但我似乎找不到方法。非常感谢任何帮助。

我的完整堆栈跟踪和相关 Java 代码和 application.properties 文件在这个要点中:

https://gist.github.com/anonymous/cb309a836ddae36f5e401697f763dde5

删除 PersistenceConfiguration class 它不是必需的。 Spring Boot 会自动配置数据源供您和 flyway 使用。

HikariCP 现在是 spring 引导 2 中的默认池实现。

同时从 application.properties 中删除所有与数据源相关的属性,spring.datasource.url 除外。

您可以更新 application.properties 以使用

spring.datasource.jdbc-url=...
datasource.flyway.jdbc-url=...

而不是

.url=

我也在学习 Pluralsight 课程构建您的第一个 Spring 启动应用程序

我在另一个 中找到了答案。 Spring Boot 2 将默认的 JDBC 连接池从 Tomcat 更改为 HikariCP 以提高性能。 HikariCP 需要不同的属性。

在本教程中,多个数据源是可选的,这就是为什么它在您删除 PersistenceConfiguration.java

时起作用的原因