SpringBoot 整合 Druid 并列出参数清单

SpringBoot 整合 Druid 并列出参数清单
1. 整合步骤基于 Spring Boot 官方 Starter第一步引入 Maven 依赖dependency groupIdcom.alibaba/groupId artifactIddruid-spring-boot-starter/artifactId version1.2.20/version !-- 建议使用最新稳定版 -- /dependency第二步在application.yml中配置数据源和连接池参数spring: datasource: # 基本连接信息必须 url: jdbc:mysql://localhost:3306/test?useSSLfalseserverTimezoneAsia/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 # 验证连接是否有效的 SQLMySQL 使用 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 # WallFilterSQL 防火墙配置 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初始化时创建的连接数05~10min-idle最小空闲连接数05~10max-active最大活跃连接数最大并发数820~100视业务max-wait获取连接最大等待时间毫秒超时抛异常-1无限60000time-between-eviction-runs-millis空闲连接检查/回收的间隔毫秒600001分钟60000min-evictable-idle-time-millis连接最小空闲时间超过则被回收毫秒180000030分钟3000005分钟max-evictable-idle-time-millis连接最大空闲时间强制回收毫秒252000007小时-validation-query验证连接有效性的 SQL必须支持快速执行nullMySQL:SELECT 1/ Oracle:SELECT 1 FROM DUALvalidation-query-timeout验证 SQL 执行超时时间秒-13test-on-borrow获取连接时立即执行验证影响性能falsefalsetest-on-return归还连接时执行验证影响性能falsefalsetest-while-idle空闲时检测连接有效性强烈建议开启falsetruepool-prepared-statements是否缓存 PreparedStatementPSCachefalsetrue开启可提升性能max-pool-prepared-statement-per-connection-size每个连接缓存的 PreparedStatement 上限-120filters扩展插件用逗号分隔stat监控,wall防火墙,log4j2日志-stat,wall,log4j2connection-properties自定义连接属性如config.decrypttrue密码解密--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-idlevalidation-query保证连接有效性但不要开启test-on-borrow以免影响响应时间。

最新新闻

日新闻

周新闻

月新闻