SpringBoot整合Druid并列出参数清单的代码步骤
更新时间:2026年07月30日 08:59:11 作者:Full Stack Developme
本文详细讲解如何在SpringBoot项目中整合Druid连接池,包括Maven依赖引入、yml配置示例、核心参数如max-active、validation-query的推荐值,以及如何访问监控页面查看SQL执行和连接池状态,同时总结了filters配置冲突、连接有效性验证等常见避坑点
1. 整合步骤(基于 Spring Boot 官方 Starter)
第一步:引入 Maven 依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.20</version> <!-- 建议使用最新稳定版 -->
</dependency>第二步:在application.yml中配置数据源和连接池参数
spring:
datasource:
# 基本连接信息(必须)
url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 指定使用 Druid 数据源(必须)
type: com.alibaba.druid.pool.DruidDataSource
# Druid 连接池专属参数(核心清单见下文)
druid:
# 初始连接数
initial-size: 5
# 最小空闲连接数
min-idle: 5
# 最大活跃连接数
max-active: 20
# 获取连接超时时间(毫秒)
max-wait: 60000
# 连接保持空闲而不被回收的最小时间(毫秒)
time-between-eviction-runs-millis: 60000
# 连接在池中最小生存时间(毫秒)
min-evictable-idle-time-millis: 300000
# 验证连接是否有效的 SQL(MySQL 使用)
validation-query: SELECT 1 FROM DUAL
# 验证超时时间(秒)
validation-query-timeout: 3
# 申请连接时执行 validation-query 检测
test-on-borrow: false
# 归还连接时执行 validation-query 检测
test-on-return: false
# 空闲时检测连接有效性(建议开启)
test-while-idle: true
# 监控统计 + 日志 + 防御 SQL 注入(配置三个插件)
filters: stat,log4j2,wall
# StatFilter 监控配置
stat:
log-slow-sql: true
slow-sql-millis: 2000
merge-sql: true
# WallFilter(SQL 防火墙)配置
wall:
config:
delete-where-none-check: true
# 监控页面(Druid Console)访问配置
stat-view-servlet:
enabled: true
url-pattern: /druid/*
login-username: admin
login-password: admin123
reset-enable: false
# Web 应用监控(URI 统计)
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'2. Druid 连接池完整核心参数清单
| 参数名 | 说明 | 默认值 | 推荐值(示例) |
|---|---|---|---|
initial-size | 初始化时创建的连接数 | 0 | 5~10 |
min-idle | 最小空闲连接数 | 0 | 5~10 |
max-active | 最大活跃连接数(最大并发数) | 8 | 20~100(视业务) |
max-wait | 获取连接最大等待时间(毫秒),超时抛异常 | -1(无限) | 60000 |
time-between-eviction-runs-millis | 空闲连接检查/回收的间隔(毫秒) | 60000(1分钟) | 60000 |
min-evictable-idle-time-millis | 连接最小空闲时间,超过则被回收(毫秒) | 1800000(30分钟) | 300000(5分钟) |
max-evictable-idle-time-millis | 连接最大空闲时间,强制回收(毫秒) | 25200000(7小时) | - |
validation-query | 验证连接有效性的 SQL(必须支持快速执行) | null | MySQL: SELECT 1 / Oracle: SELECT 1 FROM DUAL |
validation-query-timeout | 验证 SQL 执行超时时间(秒) | -1 | 3 |
test-on-borrow | 获取连接时立即执行验证(影响性能) | false | false |
test-on-return | 归还连接时执行验证(影响性能) | false | false |
test-while-idle | 空闲时检测连接有效性(强烈建议开启) | false | true |
pool-prepared-statements | 是否缓存 PreparedStatement(PSCache) | false | true(开启可提升性能) |
max-pool-prepared-statement-per-connection-size | 每个连接缓存的 PreparedStatement 上限 | -1 | 20 |
filters | 扩展插件(用逗号分隔):stat(监控), wall(防火墙), log4j2(日志) | - | stat,wall,log4j2 |
connection-properties | 自定义连接属性,如 config.decrypt=true(密码解密) | - | - |
use-global-data-source-stat | 是否开启全局数据源统计 | false | - |
3. 监控页面(Druid Console)访问
启动项目后,访问:
http://localhost:你的端口/druid/login.html
使用配置中的 login-username / login-password 登录,可查看 SQL 执行、连接池状态、URI 监控等。
4. 常见问题(避坑点)
filters配置的插件必须存在类路径(如log4j2需引入spring-boot-starter-log4j2)。- 如果使用
spring.datasource.druid前缀,不要同时配置spring.datasource下的 hikari 参数,二者会冲突。 - 生产环境建议开启
test-while-idle+validation-query,保证连接有效性,但不要开启test-on-borrow以免影响响应时间。
以上就是SpringBoot整合Druid并列出参数清单的代码步骤的详细内容,更多关于SpringBoot整合Druid列出参数清单的资料请关注脚本之家其它相关文章!
相关文章
SpringBoot中application.properties、application.yaml、applicati
本文主要介绍了SpringBoot中application.properties、application.yaml、application.yml区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-04-04
ZooKeeper框架教程Curator分布式锁实现及源码分析
本文是ZooKeeper入门系列教程,本篇为大家介绍zookeeper一个优秀的框架Curator,提供了各种分布式协调的服务,Curator中有着更为标准、规范的分布式锁实现2022-01-01
Mapstruct @Mapper @Mapping 使用小结
这篇文章主要介绍了Mapstruct @Mapper @Mapping使用小结,他们用于各个对象实体间的相互转换,例如数据库底层实体转为页面对象,Model 转为 DTO, DTO 转为其他中间对象, VO 等等,相关转换代码为编译时自动产生的新文件和代码,需要的朋友可以参考下2023-09-09
SpringBoot集成Quartz实现持久化定时接口调用任务
Quartz是功能强大的开源作业调度库,几乎可以集成到任何 Java 应用程序中,从最小的独立应用程序到最大的电子商务系统,本文将通过代码示例给大家介绍SpringBoot集成Quartz实现持久化定时接口调用任务,需要的朋友可以参考下2023-07-07
IntelliJ IDEA配置java环境及解决IDEA不能直接运行单个JAVA文件的问题
这篇文章主要介绍了IntelliJ IDEA配置java环境及解决IDEA不能直接运行单个JAVA文件的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07


最新评论