在SpringBoot中使用Druid

Druid的配置

application.yml

复制代码
server:
  port: 8080

spring:
  application:
    name: druid-test
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/for_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
    druid:
      db-type: mysql
      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
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      filters: stat,wall
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        reset-enable: false
        login-username: admin
        login-password: admin
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        format_sql: true
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect

启动后输入:http://localhost:8080/druid 可以进入druid的后台界面。

账号密码是admin admin

Druid 连接池与监控配置详解

主要分为三大模块:


1. stat-view-servlet --- Druid 监控页面配置
复制代码
stat-view-servlet:
  enabled: true                  # 启用 Druid 内置监控页面
  url-pattern: /druid/*          # 监控页面访问路径(如 http://{ip}:{port}/druid/index.html)
  login-username: admin          # 监控页面登录用户名
  login-password: GeoAdmin2026   # 监控页面登录密码
  reset-enable: false            # 禁止在页面上重置统计数据(更安全)
  allow: 127.0.0.1               # 仅允许本机(127.0.0.1)访问监控页面
  • 作用:提供可视化的数据库连接池、SQL 执行、Web 请求等监控面板。
  • 安全限制:allow: 127.0.0.1 表示只有本地能访问,防止外部泄露敏感数据。

2. web-stat-filter --- Web 应用统计过滤器
复制代码
web-stat-filter:
  enabled: true                  # 启用 Web 应用统计功能
  url-pattern: /*                # 对所有请求路径进行统计
  exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"  # 排除静态资源和 Druid 自身请求
  • 作用:统计 Web 请求与数据库操作的关联(如某个接口执行了哪些 SQL)。
  • 排除规则:避免静态资源和监控页面本身被统计,减少干扰数据。

3. filter.stat --- SQL 统计与慢查询监控
复制代码
filter:
  stat:
    enabled: true                # 启用 SQL 统计功能
    slow-sql-millis: 1000        # 定义慢 SQL 阈值:执行时间超过 1000ms(1秒)即为慢查询
    log-slow-sql: true           # 记录慢查询日志
  • 作用:自动收集 SQL 执行性能数据,并将超过 1 秒的 SQL 标记为慢查询并记录日志。
  • 用途:帮助定位性能瓶颈,优化慢 SQL 语句。
相关推荐
iiiiyu18 小时前
面向对象和集合编程题
java·开发语言·前端·数据结构·算法·编程语言
geovindu18 小时前
go: Read-Write Lock Pattern
开发语言·后端·设计模式·golang·读写锁模式
taocarts_bidfans18 小时前
2026跨境SaaS工具选型指南:Taoify与Shopify/Shopyy/Ueeshop深度对比
java·前端·javascript·跨境电商·独立站
百珏18 小时前
AI 应用技术演进串讲大纲
人工智能·后端·架构
Tigshop开源商城18 小时前
『切换组织时新增店铺/门店』功能上新,一键新增更高效!Tigshop 开源商城系统 JAVA v5.8.27 正式发布
java·商城系统·开源商城系统·tigshop
Full Stack Developme18 小时前
JDK 发展历史
java·开发语言
dreamsever18 小时前
OpenTelemetry可观测系统之Metrics学习
java·前端·学习
Bacon18 小时前
装上就回不去了:CodeGraph 让 AI 编程效率飙升 92%,它到底做了什么?
前端·人工智能·后端
Xiacqi118 小时前
Spring全局异常处理
java·后端
狗头大军之江苏分军18 小时前
Python 协程进化史:从 yield 到 async/await 的底层实现
前端·后端