Spring 启动 Hikari 配置

Spring Boot Hikari configuration

我正在为 Spring 引导应用程序配置 HikariCP,数据库是 Postgresql。

documentation 说: "We recommended using dataSourceClassName instead of jdbcUrl, but either is acceptable."

但是,下一行说: "Note: Spring Boot auto-configuration users, you need to use jdbcUrl-based configuration."

如果我们使用基于 jdbcUrl 的配置并指定 dataSourceClassName 那么 jdbcUrl 将被忽略,如果我们不指定数据源 - HikariDataSource 将被创建.因此,他们建议对 Spring 启动应用程序使用 HikariDataSource

如果我们使用 dataSourceClassName - 它将使用给定的属性创建(在我的例子中它是 PGSimpleDataSource 及其祖先 BaseDataSource)。

这两种配置都适合我。

所以,我的问题是:

  1. HikariDataSourcePGSimpleDataSource(或任何其他推荐的)有什么区别?
  2. 为什么建议在 Spring 引导中使用基于 jdbcUrl 的配置(因此 HikariDataSource)?
  1. HikariCP是一个连接池,很好用。我们已经在几个生产项目中使用它,它速度很快,而且很好用。

  2. 如果您想使用 HikariCP,请使用 HikariDataSource。 Spring Boot 已经开始默认使用它并推荐它(出于同样的原因:它又快又稳固)。

如果您只是使用 spring.datasource.url 的默认配置,它将使用 HikariCP 并且应该工作 out-of-the-box。

但是,当您手动配置数据源时,Spring Boot 2 和 HikariCP 存在一个小问题。 HikariCP 期望 jdbcUrldataSourceClassName,但 Spring 引导配置 属性 使用 url。 请参阅 documentation or