在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 语句。
相关推荐
惜茶5 分钟前
vue+SpringBoot(前后端交互)
java·vue.js·spring boot
宁瑶琴17 分钟前
COBOL语言的云计算
开发语言·后端·golang
杰克尼41 分钟前
springCloud_day07(MQ高级)
java·spring·spring cloud
普通网友41 分钟前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
IT_陈寒1 小时前
Vue的这个响应式问题,坑了我整整两小时
前端·人工智能·后端
NHuan^_^2 小时前
SpringBoot3 整合 SpringAI 实现ai助手(记忆)
java·人工智能·spring boot
Soofjan2 小时前
Go 内存回收-GC 源码1-触发与阶段
后端
shining2 小时前
[Golang]Eino探索之旅-初窥门径
后端
掘金者阿豪2 小时前
Mac 程序员效率神器:6 个我每天都在用的 Mac 工具推荐(Alfred / Paste / PixPin / HexHub / iTerm2 /)
后端
Mr_Xuhhh2 小时前
从ArrayList到LinkedList:理解链表,掌握Java集合的另一种选择
java·数据结构·链表