首页 > 编程语言 >SpringBoot整合Druid参数清单与代码步骤

SpringBoot整合Druid参数清单与代码步骤

来源:互联网 2026-07-30 16:19:11

1. Spring Boot整合Druid连接池的完整步骤(基于官方Starter) 在Spring Boot项目中整合Druid连接池时,官方推荐的做法是直接使用其Starter组件。通过这种方式,大部分配置工作可以自动完成,开发者只需关注核心参数的调优。以下是Spring Boot整合Druid

1. Spring Boot整合Druid连接池的完整步骤(基于官方Starter)

在Spring Boot项目中整合Druid连接池时,官方推荐的做法是直接使用其Starter组件。通过这种方式,大部分配置工作可以自动完成,开发者只需关注核心参数的调优。以下是Spring Boot整合Druid的具体步骤。

第一步:在pom.xml中引入Druid的Maven依赖

在项目的 pom.xml 文件中添加以下依赖配置,版本号建议使用最新的稳定版,例如 1.2.20

长期稳定更新的攒劲资源: >>>点此立即查看<<<


    com.alibaba
    druid-spring-boot-starter
    1.2.20 

第二步:在application.yml中配置数据源和Druid连接池参数

完成依赖引入后,需要在 application.yml 文件中配置连接池的相关信息。配置内容既包括数据库的基础连接信息,也包括Druid连接池的专属参数,两者缺一不可。

spring:
  datasource:
    # 基本连接信息(必须)
    url: jdbc:mysql://localhost:3306/testuseSSL=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连接池完整核心参数清单

下面的表格列出了Druid连接池的全部核心参数,包括每个参数的含义、默认值以及推荐配置,在实际项目中可以直接参考使用。

参数名说明默认值推荐值(示例)
initial-size初始化时创建的连接数05~10
min-idle最小空闲连接数05~10
max-active最大活跃连接数(最大并发数)820~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(必须支持快速执行)nullMySQL: SELECT 1 / Oracle: SELECT 1 FROM DUAL
validation-query-timeout验证 SQL 执行超时时间(秒)-13
test-on-borrow获取连接时立即执行验证(影响性能)falsefalse
test-on-return归还连接时执行验证(影响性能)falsefalse
test-while-idle空闲时检测连接有效性(强烈建议开启falsetrue
pool-prepared-statements是否缓存 PreparedStatement(PSCache)falsetrue(开启可提升性能)
max-pool-prepared-statement-per-connection-size每个连接缓存的 PreparedStatement 上限-120
filters扩展插件(用逗号分隔):stat(监控), wall(防火墙), log4j2(日志)-stat,wall,log4j2
connection-properties自定义连接属性,如 config.decrypt=true(密码解密)--
use-global-data-source-stat是否开启全局数据源统计false-

3. 通过Druid Console监控页面查看连接池状态

项目启动后,在浏览器中访问以下地址,即可进入Druid的监控控制台。

SpringBoot整合Druid参数清单与代码步骤

http://localhost:你的端口/druid/login.html

登录时使用配置文件中设置的 login-usernamelogin-password,进入控制台后可以查看SQL执行情况、连接池状态、URI监控等关键信息,界面直观且易于分析。

4. Druid连接池配置中的常见问题与避坑指南

  1. filters 配置的插件必须存在于类路径中。例如配置了 log4j2,项目中就必须引入 spring-boot-starter-log4j2 依赖,否则启动时会报错。
  2. 如果使用了 spring.datasource.druid 前缀,就不要再配置 spring.datasource 下的Hikari参数,两者会产生冲突,导致连接池行为异常。
  3. 生产环境下,建议开启 test-while-idlevalidation-query 来确保连接的有效性。但不要将 test-on-borrow 设置为 true,因为每次获取连接时都执行验证会对响应时间产生较大影响。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。