我正在尝试在我的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
@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添加到依赖项
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 :)