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
)。
这两种配置都适合我。
所以,我的问题是:
HikariDataSource
和 PGSimpleDataSource
(或任何其他推荐的)有什么区别?
- 为什么建议在 Spring 引导中使用基于
jdbcUrl
的配置(因此 HikariDataSource
)?
HikariCP是一个连接池,很好用。我们已经在几个生产项目中使用它,它速度很快,而且很好用。
如果您想使用 HikariCP,请使用 HikariDataSource
。 Spring Boot 已经开始默认使用它并推荐它(出于同样的原因:它又快又稳固)。
如果您只是使用 spring.datasource.url
的默认配置,它将使用 HikariCP 并且应该工作 out-of-the-box。
但是,当您手动配置数据源时,Spring Boot 2 和 HikariCP 存在一个小问题。 HikariCP 期望 jdbcUrl
或 dataSourceClassName
,但 Spring 引导配置 属性 使用 url
。
请参阅 documentation or 。
我正在为 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
)。
这两种配置都适合我。
所以,我的问题是:
HikariDataSource
和PGSimpleDataSource
(或任何其他推荐的)有什么区别?- 为什么建议在 Spring 引导中使用基于
jdbcUrl
的配置(因此HikariDataSource
)?
HikariCP是一个连接池,很好用。我们已经在几个生产项目中使用它,它速度很快,而且很好用。
如果您想使用 HikariCP,请使用
HikariDataSource
。 Spring Boot 已经开始默认使用它并推荐它(出于同样的原因:它又快又稳固)。
如果您只是使用 spring.datasource.url
的默认配置,它将使用 HikariCP 并且应该工作 out-of-the-box。
但是,当您手动配置数据源时,Spring Boot 2 和 HikariCP 存在一个小问题。 HikariCP 期望 jdbcUrl
或 dataSourceClassName
,但 Spring 引导配置 属性 使用 url
。
请参阅 documentation or