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

时间:2018-03-11 12:05:39

标签: java spring-boot spring-data-jpa hikaricp

我对Spring和Spring Boot比较陌生,但我似乎无法找到如何使用Spring Boot,Flyway和Spring Boot 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

2 个答案:

答案 0 :(得分:2)

删除不需要的PersistenceConfiguration课程。 Spring Boot为您和flyway自动配置数据源以供使用。

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

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

答案 1 :(得分:1)

您可以更新application.properties以使用

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

代替

.url=

我也在遵循Pluralsight课程构建您的第一个Spring Boot应用程序

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

在本教程中,多个数据源是可选的,这就是为什么在删除PersistenceConfiguration.java时它可以工作的原因