在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 语句。
相关推荐
猪猪拆迁队1 小时前
虚拟工厂仿真引擎的架构设计:让一条产线可编程、可观测、可干预
后端·ai编程
字节跳动数据库2 小时前
文章分享——相似函数处理方法
人工智能·后端·程序员
云技纵横2 小时前
@Transactional 失效的 7 种场景:第 5 种最难排查
后端
用户6757049885022 小时前
你知道 Go 结构体和结构体指针调用的区别吗?一文带你彻底搞懂!
后端·go
程序员cxuan2 小时前
读懂 Claude Code 架构分析系列,第一篇,开始!
人工智能·后端·架构
用户6757049885022 小时前
面试官问“装饰器模式”,这样回答薪资多要 3000!
后端
tntxia2 小时前
Geo Scene域名修改引起的一些问题
后端
用户298698530142 小时前
Java 实现 Word 文档加密与权限解除
java·后端
vanuan3 小时前
给你的A2A-Agent加把锁-认证鉴权实战指南
后端
Yeats_Liao3 小时前
14:Servlet中的页面跳转-Java Web
java·后端·架构