Spring Boot 2.x HikariCP使用详解

教程分享 > Java教程 > Spring (5697) 2024-08-07 11:05:25

一、导语

    本文将介绍Spring Boot和HikariCP示例。HikariCP是快速,简单,可靠和生产就绪的JDBC连接池。在Spring Boot 2.0版本中,默认数据库池技术已从Tomcat Pool切换到HikariCP。这是因为HikariCP提供了卓越的性能。现在自Spring Boot 2.0发布以来,spring-boot-starter-jdbc和spring-boot-starter-data-jpa默认解析HikariCP依赖,spring.datasource.type属性将HikariDataSource作为默认值。Spring引导首先选择HikariCP然后是Tomcat池,然后根据可用性选择Commons DBCP2。在这个页面上,我们将提供带有Spring Boot Data和MySQL的HikariCP的完整示例。我们将创建一个演示应用程序,我们将在其中执行数据库中的创建和读取操作。我们将配置HikariCP属性,例如文件中的connectionTimeout,minimumIdle,maximumPoolSize,idleTimeout,maxLifetime和autoCommit application.properties
 

二、使用的技术

找到我们示例中使用的技术。 
1. Java 9 
2. Spring 5.0.7.RELEASE 
3. Spring Boot 2.0.3.RELEASE 
4. Maven 3.5.2 
5. MySQL 5.5 
6. Eclipse Oxygen


三、HikariCP依赖

在使用HikariCP之前,我们需要确保已经解决了HikariCP依赖关系。如果我们使用Maven,我们可以使用以下依赖项。


<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>3.1.0</version>
</dependency>
如果我们使用的是Spring Boot 2.0或者之后的版本,我们不需要去单独在pom.xml文件中引入HikariCP依赖。因为默认情况下spring-boot-starter-jdbc 或者 spring-boot-starter-data-jpa 会依赖进来。这意味着我们是否也在使用依赖项
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <version>2.0.3.RELEASE</version>
</dependency> 
或者
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.0.3.RELEASE</version>
</dependency> 
然后我们不需要在我们的pom.xml或build.gradle中包含HikariCP依赖项。

四、HikariCP配置

对于Hikari连接池配置,我们通过使用spring.datasource.type并在application.properties文件中为其分配连接池实现的完全限定名称来启用它,如下所示。
spring.datasource.type = com.zaxxer.hikari.HikariDataSource 
如果我们使用的是Spring Boot 2.0及以上版本,Spring Boot会HikariDataSource默认选择,我们不需要配置上面的行。 
现在要配置Hikari特定的连接池设置,Spring Boot提供了spring.datasource.hikari.*application.properties文件中使用的前缀。我们将在这里讨论一些常用的配置。 
1. connectionTimeout
connectionTimeout是客户端等待连接池连接的最大毫秒数。我们需要将其配置如下。
spring.datasource.hikari.connection-timeout=20000 
2. minimumIdle
minimumIdle是HikariCP在连接池中维护的最小空闲连接数。它配置如下。
spring.datasource.hikari.minimum-idle=5 
3. maximumPoolSize
maximumPoolSize配置最大池大小。它配置如下。
spring.datasource.hikari.maximum-pool-size=12 
4. idleTimeout
idleTimeout是允许连接在连接池中空闲的最长时间(以毫秒为单位)。它配置如下。
spring.datasource.hikari.idle-timeout=300000 
5. maxLifetime
maxLifetime是池中连接关闭后的最长生命周期(以毫秒为单位)。它配置如下。
spring.datasource.hikari.max-lifetime=1200000 
使用中的连接永远不会退役,只有当它关闭时才会在最长生命周期后删除。 
6. autoCommit
autoCommit配置从池返回的连接的默认自动提交行为。默认值为true
spring.datasource.hikari.auto-commit=true 

配置示例:
$title(application.properties)
spring.datasource.url=jdbc:mysql://localhost:3306/concretepage
spring.datasource.username=root
spring.datasource.password=cp

#Spring Boot 2.0 includes HikariDataSource by default
#spring.datasource.type = com.zaxxer.hikari.HikariDataSource

spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=12
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.max-lifetime=1200000
spring.datasource.hikari.auto-commit=true

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
spring.jpa.properties.hibernate.id.new_generator_mappings=false
spring.jpa.properties.hibernate.format_sql=true 



 
https://www.leftso.com/article/520.html

相关文章
本文将介绍Spring Boot和HikariCP示例。HikariCP是快速,简单,可靠和生产就绪的JDBC连接池。在Spring Boot 2.0版本中,默认数据库池技术已从Tomcat P...
Spring Boot 2.0 Redis整合,通过spring boot 2.0整合Redis作为spring缓存框架的实现。
spring boot 2.0 security 5.0 整合,实现自定义表单登录。spring boot 2.0框架使用。
Spring Boot 2.0 有哪些新特性_Spring Boot 2.0新功能,在本文中,我们将探讨为Spring Boot 2.0计划的一些更改和功能。我们还会描述这些变化如何帮助我们提高...
Spring Boot 2.0,Spring框架的Spring Boot 中的Spring Boot Actuator变化讲解。并且了解如何在Spring Boot 2.0中使用Actuator...
Spring Boot 1.x升级到Spring Boot 2.0迁移指南
Spring Boot 2.0 绑定properties属性资源文件 Spring Boot 2.0 读取properties配置文件值 Spring Boot 2.0获取properties配...
1. 什么是数据源?spring boot 2 数据源 DataSource(数据源) 是连接到任何物理数据库的工厂. DriverManager 工具的替代方案
Spring Boot 2.0 支持的Apache Camel 版本发布了_Apache Camel 2.22发布支持Spring Boot 2.0
spring boot 2.0 入门之单元测试多线程。spring boot 2.0 项目含多线程异步处理业务单元测试执行主线程结束不等待子线程结束。
Spring Boot 2.0 入门 logoback配置实战教程,俗话说好马配好鞍。Spring Boot 框架从各方面给我们带来了开发效率。日志自然也不会落下。本文将讲解与Spring Bo...
学习使用Java配置创建Spring批处理作业(具有多个步骤)。 它使用Spring Boot 2,Spring batch 4和H2数据库来执行批处理作业。