Spring Boot集成Druid连接池配置指南
2026/9/19 8:45:15 网站建设 项目流程

1. 为什么选择Druid连接池

在Spring Boot项目中,数据库连接池的选择直接影响着应用的性能和稳定性。Druid作为阿里巴巴开源的数据库连接池实现,相比HikariCP、Tomcat JDBC等方案有几个显著优势:

  • 监控功能完善:内置StatFilter提供SQL执行统计、性能监控等功能
  • 防SQL注入:支持WallFilter进行SQL防火墙防护
  • 可扩展性强:支持Filter扩展机制
  • 稳定性高:经过多年双11高并发场景验证

druid-spring-boot-starter是Druid官方提供的Spring Boot Starter,可以让我们以最简配置快速集成Druid连接池。下面我将详细介绍从零开始的完整集成过程。

2. 基础环境搭建

2.1 项目依赖配置

首先在pom.xml中添加必要依赖:

<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>

注意:版本号建议使用最新稳定版,可以通过Maven中央仓库查询最新版本

2.2 基础配置参数

在application.yml中配置基本参数:

spring: datasource: url: jdbc:mysql://localhost:3306/test_db username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource

3. 高级功能配置

3.1 监控页面配置

Druid内置了强大的监控功能,可以通过以下配置开启:

spring: datasource: druid: stat-view-servlet: enabled: true login-username: admin login-password: admin url-pattern: /druid/*

配置后访问http://localhost:8080/druid即可看到监控页面,包含:

  • 数据源状态
  • SQL监控
  • URI监控
  • Session监控
  • Spring监控

3.2 SQL防火墙配置

防止SQL注入攻击:

spring: datasource: druid: filter: wall: enabled: true config: drop-table-allow: false

4. 性能优化配置

4.1 连接池参数调优

spring: datasource: 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 validation-query: SELECT 1 test-while-idle: true test-on-borrow: false test-on-return: false

参数说明:

  • initial-size:初始化连接数
  • min-idle:最小空闲连接数
  • max-active:最大连接数
  • max-wait:获取连接等待超时时间

4.2 监控统计配置

spring: datasource: druid: filters: stat,wall filter: stat: enabled: true log-slow-sql: true slow-sql-millis: 1000

5. 常见问题解决

5.1 监控页面无法访问

可能原因:

  1. 未添加Servlet配置
  2. 路径配置错误
  3. 权限不足

解决方案: 检查stat-view-servlet配置是否正确,确保有访问权限

5.2 连接泄露问题

现象:连接数不断增加直到max-active

解决方案:

  1. 开启removeAbandoned配置
  2. 设置合理的removeAbandonedTimeout
spring: datasource: druid: remove-abandoned: true remove-abandoned-timeout: 180

6. 生产环境建议

  1. 监控页面必须设置强密码
  2. 定期检查慢SQL并优化
  3. 根据实际负载调整连接池参数
  4. 开启SQL防火墙防护
  5. 配置合理的连接超时时间

通过以上配置,可以在Spring Boot项目中充分发挥Druid连接池的优势,既保证了性能又增强了安全性。我在多个生产项目中采用这种配置方案,系统稳定运行多年未出现数据库连接相关问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询