SpringBoot【集成 Druid 01】使用 druid-spring-boot-starter 实现监控数据库

本文详细介绍Druid组件,包括其作为JDBC代理、高效数据库连接池和SQL解析器的功能。重点讲解了监控性能、安全特性、日志记录和扩展性,以及如何在Spring Boot中集成和使用Druid进行数据库管理。

使用 druid-spring-boot-starter 实现监控数据库

What

Druid是一个JDBC组件,它包括三部分:
• DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
• DruidDataSource 高效可管理的数据库连接池。
• SQLParser

Why

• 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
• 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
• 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
• SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
• 扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。

USE

1.依赖(只贴出核心依赖)

<!--核心依赖-->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.1.10</version>
</dependency>

2.配置(只贴出核心配置)

spring:

  datasource:
    url: jdbc:postgresql://xxx.xx.xxx.xxx:2345/gpdb
    username: admin
    password: admin
    driver-class-name: org.postgresql.Driver
    type: com.alibaba.druid.pool.DruidDataSource

    druid:
      initial-size: 3
      min-idle: 3
      max-active: 10
      max-wait: 60000
      stat-view-servlet:
        login-username: admin
        login-password: admin
      filter:
        stat:
          log-slow-sql: true
          slow-sql-millis: 1

3.druid Web监控
http://localhost:8080/druid/login.html 登录后可查询监控信息。
在这里插入图片描述
在这里插入图片描述

<think>好的,我现在需要帮助用户了解Spring Boot 3.4.3与druid-spring-boot-starter集成。首先,我应该回忆这两个技术的基本概念。 Spring Boot是一个用于简化Spring应用初始搭建和开发过程的框架,3.4.3版本是其一个特定版本。Druid是阿里巴巴开源的数据库连接池,提供监控和统计功能。而druid-spring-boot-starter应该是DruidSpring Boot集成Starter包。 接下来,用户可能想知道如何将Druid集成Spring Boot项目中。首先,需要确认的是Spring Boot 3.4.3是否与当前最新的druid-spring-boot-starter兼容。可能需要查看Druid官方文档或Maven仓库中的版本信息。例如,Druid的版本可能更新到1.x.x,需要对应Spring Boot的版本。 然后,集成步骤通常包括添加依赖、配置数据源以及可能的监控配置。在Spring Boot中,通过application.properties或application.yml进行配置。需要提醒用户注意配置项的正确性,比如数据库URL、用户名、密码,以及Druid特有的参数如初始化大小、最小最大连接数等。 另外,Druid监控功能是一个重要特点,用户可能想知道如何启用和管理监控界面。需要说明如何配置Servlet和Filter来访问Druid的内置监控页面,并设置登录账号密码保证安全。 还需要注意可能的问题,例如版本冲突、配置错误导致的连接池不生效,或者监控页面无法访问。这时候需要建议用户检查依赖版本是否匹配,配置项是否正确,以及是否有必要的注解开启。 最后,可能需要给出一个简单的示例,包括pom.xml中添加依赖,配置文件中的关键设置,以及如何访问监控页面。确保用户能够按照步骤一步步操作,并验证集成是否成功。 总结下来,回答的结构应该是先介绍两者,然后分步骤讲解集成方法,配置示例,监控配置,注意事项,可能的问题及解决建议。同时,确保使用中文,正确使用LaTeX格式,如版本号用$...$包裹,独立公式用$$...$$,但在这里可能更多是代码块和配置项的展示,需根据用户要求处理。</think>Spring Boot 3.4.3 与 `druid-spring-boot-starter` 的集成主要用于实现高性能数据库连接池管理。以下是分步说明: ### 一、技术简介 1. **Spring Boot 3.4.3** 是Java领域快速构建生产级应用的框架,$3.4.3$ 是2023年发布的版本,支持JDK 17+。 2. **Druid** 阿里巴巴开源的关系型数据库连接池,提供: - SQL执行监控 - 防御SQL注入 - 统计Web URI请求 - 支持JSON格式日志输出 3. **druid-spring-boot-starter** 专为Spring Boot设计的自动化配置模块,版本需与Spring Boot兼容。例如: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.20</version> <!-- 适配Spring Boot 3.x --> </dependency> ``` ### 二、集成步骤 #### 1. 添加依赖 ```xml <!-- pom.xml --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>3.4.3</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.20</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> </dependencies> ``` #### 2. 配置数据源 ```yaml # application.yml spring: datasource: url: jdbc:mysql://localhost:3306/mydb?useSSL=false username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource druid: initial-size: 5 min-idle: 5 max-active: 20 # 监控配置 stat-view-servlet: enabled: true url-pattern: /druid/* login-username: admin login-password: admin123 web-stat-filter: enabled: true exclusions: "*.js,*.gif,*.jpg,/druid/*" ``` ### 三、监控功能验证 1. 启动应用后访问: ``` http://localhost:8080/druid/login.html ``` 2. 输入配置的账号密码(示例中为`admin/admin123`) ### 四、关键配置项说明 | 配置项 | 描述 | 示例值 | |-------------------------|-----------------------------|---------------| | `spring.datasource.druid.initial-size` | 初始连接数 | 5 | | `spring.datasource.druid.max-active` | 最大连接数 | 20 | | `stat-view-servlet.url-pattern` | 监控页面访问路径 | `/druid/*` | ### 五、注意事项 1. **版本兼容性** Spring Boot 3.x 需要JDK 17+,确认Druid版本支持(推荐$1.2.20+$) 2. **监控安全** 务必修改默认监控账号密码,避免生产环境暴露: ```yaml druid: stat-view-servlet: login-username: your_secure_name login-password: your_strong_password ``` 3. **SQL防火墙** 可启用防御配置: ```yaml druid: filters: stat,wall wall: config: delete-allow: false ``` 通过以上配置,即可在Spring Boot 3.4.3中实现Druid连接池的高效管理及可视化监控
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuanzhengme.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值