游乐游手机版
首页/编程语言/文章详情

SpringBoot整合Druid连接池并开启监控配置教程

时间:2026-08-14 14:49
Druid是阿里巴巴开源的高性能数据库连接池,具备连接管理与监控能力。在SpringBoot项目中添加依赖并配置数据源参数,启用WebStatFilter和StatViewServlet,即可通过 druid 页面实时监控连接池状态、SQL执行情况,助力性能调试与优化。

Druid 是阿里巴巴开源的一款高性能数据库连接池,除了具备优秀的连接管理能力外,还内置了非常实用的监控与统计功能。

在 Spring Boot 项目中集成 Druid,不仅可以有效提升数据库访问性能,还能够借助其自带的监控页面,实时查看数据库连接状态、SQL 执行情况等关键指标。对于开发、排障和性能优化来说,它都是非常高效的工具。

1. 引言

随着互联网应用快速发展,系统对数据库连接池的性能、稳定性和可用性要求也越来越高。

传统连接池在面对现代应用的高并发、高性能需求时,往往难以全面满足。而 Druid 凭借出色的性能表现、完善的监控能力以及灵活的配置方式,已经成为很多 Java 开发者在 Spring Boot 项目中的常用选择。

下面将结合实际配置过程,详细介绍如何在 Spring Boot 中整合 Druid,并开启其监控功能。

2. 添加依赖

首先,在你的 pom.xml 中加入 Druid 的 Maven 依赖:


    com.alibaba
    druid-spring-boot-3-starter
    1.2.24

如果你使用的是 Gradle,也可以在 build.gradle 中添加如下配置:

implementation 'com.alibaba:druid-spring-boot-3-starter:1.2.24'

3. 配置数据源

添加依赖后,接下来需要在 application.properties 或 application.yml 中配置 Druid 数据源的相关参数。

先看 .properties 格式的配置方式:

# Druid 数据源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
# 监控页面设置
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.login-username=druid
spring.datasource.druid.stat-view-servlet.login-password=d1234

再看 yaml 配置示例:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false
    username: root
    password: 1234
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      test-on-borrow: true
      validation-query: SELECT 1 FROM DUAL
      web-stat-filter:
        enabled: true
      stat-view-servlet:
        enabled: true
        login-username: druid
        login-password: d1234

这些配置项中,既包含连接池的基础参数,例如初始连接数、最小空闲连接数、最大活动连接数等,也同时启用了 Druid 的 Web 统计过滤器和监控视图 Servlet,并设置了访问监控页面所需的用户名与密码。

4. 开启监控功能

如果想更直观地管理和监控 Druid 连接池的运行状态,就需要开启它的监控功能。这里主要涉及两个核心组件:

  • WebStatFilter:用于收集 Web 应用中的 SQL 监控数据以及慢查询日志。
  • StatViewServlet:用于提供可视化监控页面,方便查看连接池运行指标和访问情况。

请确保在配置文件中已启用这两个组件:

spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.stat-view-servlet.enabled=true

除此之外,你还可以根据项目安全需求自定义监控页面的访问策略,例如限制指定 IP 访问,或者设置更安全的登录认证信息。

5. 自定义 Druid 配置(可选)

如果默认配置无法满足业务需求,可以通过编写自定义的 Druid 配置类,对默认行为进行覆盖或扩展。例如:

@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.datasource.druid")
    @Bean
    public DruidDataSource druidDataSource() {
        return new DruidDataSource();
    }

    @Bean
    public ServletRegistrationBean statViewServlet() {
        ServletRegistrationBean bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
        Map params = new HashMap<>();
        params.put("loginUsername", username);
        params.put("loginPassword", password);
        params.put("allow", "localhost");
        params.put("deny", "");
        bean.setInitParameters(params);
        return bean;
    }

    @Bean
    public FilterRegistrationBean webStatFilter() {
        FilterRegistrationBean bean = new FilterRegistrationBean();
        bean.setFilter(new WebStatFilter());
        Map params = new HashMap<>();
        params.put("exclusions", "*.js,*.css,/druid/*");
        bean.setUrlPatterns(Arrays.asList("/*"));
        bean.setInitParameters(params);
        return bean;
    }
}

6. 访问监控页面

当所有配置完成后,启动 Spring Boot 应用,在浏览器中输入下面的地址即可访问 Druid 监控页面:

https://localhost:8080/druid/

使用前面配置好的用户名和密码登录后,你会看到一个信息非常全面的监控界面,其中包括连接池状态、SQL 查询统计、慢 SQL 分析等内容。通过这个页面,可以更方便地监控数据库连接使用情况,并快速定位 SQL 性能瓶颈。

SpringBoot整合Druid并开启监控过程

7. 注意事项

  • 生产环境安全:在生产环境部署时,务必加强监控页面的访问控制,避免数据库连接信息、SQL 统计数据等敏感内容暴露。
  • 性能影响:Druid 的监控功能虽然十分实用,但在高并发场景下可能带来一定额外开销,因此需要根据实际业务情况合理设置监控级别。
  • 更新维护:建议定期关注 Druid 版本更新,及时修复已知问题和安全漏洞,以保障系统稳定性与安全性。

8. 总结

通过以上步骤,我们就可以在 Spring Boot 应用中顺利集成 Druid 数据库连接池,并开启其实时监控功能。这样不仅能够提升数据库访问效率,还能为开发者提供更清晰的运行状态分析和更高效的性能调优手段。

来源:https://www.jb51.net/program/3651594z4.htm
上一篇JAVA IO流进阶指南:字符流与字节流应用详解 下一篇Debian系统中Java异常处理策略与常见解决方案
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Python应用打包与部署入门教程:核心概念、操作步骤与结果验证
编程语言 · 2026-10-01

Python应用打包与部署入门教程:核心概念、操作步骤与结果验证

从 Python 应用打包的基本概念入手,介绍项目环境准备、依赖管理、构建发布包、安装部署以及运行结果验证,并梳理常见打包失败与部署问题,帮助初学者完成从源码到可部署应用的完整流程。

Python CLI 开发避坑指南:从环境配置到参数解析的实战排查
编程语言 · 2026-10-01

Python CLI 开发避坑指南:从环境配置到参数解析的实战排查

本文聚焦 Python 命令行工具(CLI)开发中最高频的故障点,按执行链路梳理从环境配置、参数解析、路径处理到异常调试的完整排查流程。通过具体代码示例与终端输出对照,提供可复现的修复方案,帮助开发者快速定位 ModuleNotFoundError、参数校验失败及跨平台兼容性问题,构建更健壮的命令行

Python CLI 开发:从参数解析到工程化发布的完整路径
编程语言 · 2026-10-01

Python CLI 开发:从参数解析到工程化发布的完整路径

本文以 Python 命令行工具开发为切入点,从项目结构搭建与虚拟环境配置入手,深入讲解 argparse 参数解析与子命令设计。通过一个完整的日志分析工具案例,演示输入校验、错误处理与异常捕获的最佳实践,最后覆盖打包发布流程与常见排查技巧,帮助开发者构建健壮、易用的 CLI 应用。

Python 模块与包的工程化实践:结构、依赖与排错指南
编程语言 · 2026-10-01

Python 模块与包的工程化实践:结构、依赖与排错指南

本文从项目目录规范与模块导入机制切入,详细阐述虚拟环境的配置、第三方包的管理策略以及完整案例的模块化拆分方法。通过具体代码示例展示如何构建高内聚低耦合的代码结构,并针对 ModuleNotFoundError、ImportError 及依赖冲突等常见工程问题提供系统化的排查与解决方案,帮助开发者建立

Python 函数参数与返回值:从环境搭建到实战避坑
编程语言 · 2026-10-01

Python 函数参数与返回值:从环境搭建到实战避坑

本文从搭建 Python 运行环境入手,详细解析函数定义、参数传递机制及返回值处理。通过电商订单计算的完整案例,展示如何模块化组织业务逻辑,并针对参数数量、作用域及返回值缺失等常见错误提供排查方案,帮助开发者写出健壮且可维护的代码。