druid连接池在spring boot中需三步配置:选对starter依赖(2.x用druid-spring-boot-starter,3.x用druid-spring-boot-3-starter)、合理设置initial-size、max-active等核心参数、启用statviewservlet监控并开启wallfilter防火墙。

Druid 连接池在 Spring Boot 项目中配置起来并不复杂,关键是选对依赖、配好参数、打开监控,三步到位。
依赖引入要准确
使用官方推荐的 starter,避免手动集成原生 Druid 引发兼容问题:
- Spring Boot 2.x 项目:添加
druid-spring-boot-starter(建议 1.2.20+) - Spring Boot 3.x 项目:改用
druid-spring-boot-3-starter(建议 1.2.24+) - MySQL 驱动需单独引入,scope 设为
runtime - 务必排除其他连接池(如 HikariCP),防止自动配置冲突
基础连接参数要合理
application.yml 中配置核心参数,不能只抄模板,得结合业务预估:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
initial-size:应用启动时建多少连接,一般设为 5~10,参考 DB 服务器 CPU 核数 -
min-idle:空闲时最少保留几个连接,通常与initial-size一致 -
max-active:最大并发连接数,可按公式估算:QPS × 平均SQL耗时(ms) ÷ 1000,电商类系统常见设为 20~50 -
max-wait:获取连接超时时间,生产环境建议 ≥3000ms,避免线程长时间阻塞 - 必须显式指定
type: com.alibaba.druid.pool.DruidDataSource
监控页面要安全启用
Druid 的价值一大半体现在监控能力上,但默认不开启:
- 启用 StatViewServlet,设置访问路径如
/druid/*,登录账号密码必须修改 - 关闭
reset-enable,防止误点“重置统计”清空关键指标 - 配合 WebStatFilter,过滤静态资源,减少无关请求干扰
- 访问
http://localhost:8080/druid即可查看实时连接状态、SQL 执行明细、慢 SQL 列表等
SQL 防火墙建议开启
尤其面向公网或用户输入直连数据库的场景:
- 启用 WallFilter,能拦截高危 SQL 操作(如
DROP TABLE、DELETE无 WHERE) - 设置
delete-allow: false或drop-table-allow: false,增强安全性 - 开启慢 SQL 日志:
slow-sql-millis: 1000+log-slow-sql: true,便于定位性能瓶颈
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










