小编典典

如何在我的application.properties文件的Spring Boot应用程序中配置HikariCP?

spring

我正在尝试在我的Spring Boot(1.2.0.M1)应用程序中设置HikariCP,以便可以测试使用它来代替Tomcat DBCP。我想像在使用Tomcat一样在我的application.properties文件中配置连接池,但是我不知道该怎么做。我发现的所有示例都显示JavaConfig样式,或使用单独的HikariCP属性文件。有人可以帮我找出属性名称以在application.properties中进行配置吗?我也想从使用driverClassName方法切换到DataSourceClassName方法,因为它看起来更干净,建议使用。在我的application.properties文件中也可以这样做吗?

这是我为Tomcat DBCP所拥有的(只是一些基本配置,尚未完全清除)

spring.datasource.validation-query=SELECT 1
spring.datasource.max-active=10
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=5
spring.datasource.test-on-borrow=true
spring.datasource.test-on-return=true

而且我目前正在使用driverClassName和jdbc url来建立连接:

spring.datasource.url=jdbc:mysql://localhost:3306/myDb
spring.datasource.driverClassName=com.mysql.jdbc.Driver

阅读 678

收藏
2020-04-12

共1个答案

小编典典

@Configuration
@ConfigurationProperties(prefix = "params.datasource")
public class JpaConfig extends HikariConfig {

    @Bean
    public DataSource dataSource() throws SQLException {
        return new HikariDataSource(this);
    }

}

application.yml

params:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://localhost:3306/myDb
    username: login
    password: password
    maximumPoolSize: 5

更新!从Spring Boot 1.3.0版本开始:

只需将HikariCP添加到依赖项

  1. 配置application.yml
  2. application.yml
spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:h2:mem:TEST
    driver-class-name: org.h2.Driver
    username: username
    password: password
    hikari:
      idle-timeout: 10000

更新!从Spring Boot 2.0.0版本开始:

默认连接池已从Tomcat更改为Hikari :)

2020-04-12