Spring boot hikari连接池如何关闭
时间: 2025-07-30 20:05:36 浏览: 9
在Spring Boot中,HikariCP是默认使用的数据库连接池。如果需要关闭或禁用HikariCP连接池,可以通过配置全局配置文件(`application.properties` 或 `application.yml`)来实现。具体方法如下:
### 1. **通过配置禁用连接池**
如果希望完全禁用连接池功能,可以将数据源类型设置为不使用连接池的实现。例如,可以使用`spring.datasource.type=com.zaxxer.hikari.HikariDataSource`的替代方案,如`org.springframework.boot.jdbc.SimpleDriverDataSource`,从而绕过HikariCP。
在`application.properties`中配置如下内容:
```properties
spring.datasource.type=org.springframework.boot.jdbc.SimpleDriverDataSource
```
在`application.yml`中配置如下内容:
```yaml
spring:
datasource:
type: org.springframework.boot.jdbc.SimpleDriverDataSource
```
通过上述配置,Spring Boot将不会使用HikariCP连接池,而是采用`SimpleDriverDataSource`直接创建数据库连接[^3]。
### 2. **通过设置连接池参数限制连接池行为**
如果目标是关闭连接池的某些特性(例如最大连接数、空闲连接等),而不是完全禁用HikariCP,可以通过调整连接池的配置参数来实现。
在`application.properties`中,可以配置以下内容:
```properties
spring.datasource.hikari.maximum-pool-size=0
spring.datasource.hikari.minimum-idle=0
```
在`application.yml`中,可以配置以下内容:
```yaml
spring:
datasource:
hikari:
maximum-pool-size: 0
minimum-idle: 0
```
上述配置会将HikariCP连接池的最大连接数和最小空闲连接数设置为0,从而达到关闭连接池的目的[^1]。
### 3. **通过排除HikariCP依赖**
如果希望完全移除HikariCP依赖,可以通过修改项目的依赖管理文件(如`pom.xml`或`build.gradle`)来实现。
在Maven项目中,可以在`pom.xml`中排除HikariCP的依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</exclusion>
</exclusions>
</dependency>
```
在Gradle项目中,可以在`build.gradle`中排除HikariCP的依赖:
```gradle
implementation('org.springframework.boot:spring-boot-starter-data-jpa') {
exclude group: 'com.zaxxer', module: 'HikariCP'
}
```
通过排除HikariCP依赖,Spring Boot将不再自动配置HikariCP连接池。
### 4. **自定义数据源配置**
如果需要进一步控制数据源行为,可以通过编写自定义的数据源配置类来实现。例如,可以通过编程方式创建一个不使用连接池的数据源。
示例代码如下:
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.boot.jdbc.DataSourceBuilder;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Bean
public DataSource dataSource() {
return DataSourceBuilder.create()
.url("jdbc:mysql://localhost:3306/your_database")
.username("your_username")
.password("your_password")
.build();
}
}
```
通过上述代码,可以完全绕过Spring Boot的默认数据源配置,并自定义数据源行为[^2]。
---
###
阅读全文
相关推荐




















