在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 语句。
相关推荐
云恒要逆袭几秒前
Hello World背后的秘密:Java程序是这样运行的
java·后端·程序员
JAVA9652 分钟前
JAVA面试-并发篇 09-LockSupport 和 waitnotify 的区别
java·开发语言·面试
蝎子莱莱爱打怪4 分钟前
XZLL-IM干货系列 01|万字拆解分布式 IM 架构:7 个微服务 + 自研 Flutter SDK
java·后端·面试
程序员小羊!11 分钟前
07Java IO 流
java·开发语言
ZC跨境爬虫12 分钟前
跟着 MDN 学JavaScript day_10:数组——数据的有序集合
android·java·开发语言·前端·javascript
亦暖筑序16 分钟前
Java 8老系统旁路接入AI Gateway:不升级JDK也能用AI
java·spring boot·aigc·企业架构·ai gateway
IT龟苓膏18 分钟前
Java 集合进阶:ConcurrentHashMap、HashSet、LinkedHashMap、TreeMap 和 fail-fast 一篇讲清
java·开发语言·jvm
terry60028 分钟前
2026企业级携号转网查询标准:论实时数据同步与高并发承载设计
java·大数据·人工智能·json·信息与通信·数据库架构
Volunteer Technology34 分钟前
SpringSecurity中的权限管理
java·数据库·servlet
ch.ju36 分钟前
Java程序设计(第3版)第四章——继承的调用
java·开发语言