SpringBoot集成 Druid 连接池及监控配置详解

Spring Boot 集成 Druid 连接池及监控配置详解

Spring Boot 是当前 Java 开发中的热门框架,而在数据库连接池的选择上,Druid 因其性能和功能强大也备受青睐。在这篇文章中,我们将深入探讨如何在 Spring Boot 项目中集成 Druid 连接池,并配置相关的监控功能。整个过程将基于一个简单的用户管理系统来演示。

项目搭建

首先,搭建一个 Spring Boot 项目。你可以使用 Spring Initializr 快速生成项目,选择所需的依赖项,包括 Spring Web、Spring Data JPA、MySQL 驱动等。

配置 pom.xml

在项目的 pom.xml 文件中添加 Druid 的依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.8</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
配置 application.yml

接下来,在 src/main/resources 目录下创建或编辑 application.yml 文件,添加 Druid 数据源的配置:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/inner-test?characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      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 FROM DUAL
      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,log4j
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

这些配置项涵盖了连接池的初始化大小、最小空闲连接数、最大活跃连接数、最大等待时间等参数,以及 Druid 提供的监控、SQL 过滤等功能。

配置 Druid 监控

Druid 提供了强大的监控功能,我们可以通过配置管理后台来访问这些监控数据。继续在 application.yml 文件中添加以下内容:

spring:
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: admin
        login-password: 123456
        reset-enable: false
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'

以上配置启用了 Druid 的监控 Servlet 和 Web 统计过滤器,并设置了监控页面的访问路径和登录凭证,登录用户和密码分别是admin 123456。现在,你可以通过访问 http://localhost:8080/druid 来查看 Druid 提供的各种监控信息,包括 SQL 监控、数据源监控等。如下图,访问该接口时会提示登录,
在这里插入图片描述
登录后的结果如下,可以查看脚本执行情况等。
在这里插入图片描述

运行和测试

至此,就已经完成了Springboot集成 Druid 连接池和监控功能。你可以启动 Spring Boot 应用,访问 http://localhost:8080/druid 查看 Druid 的监控页面,监控数据库连接池的状态和 SQL 执行情况。

通过这种方式,我们不仅能够高效地管理数据库连接,还能通过直观的监控页面了解系统的运行状态,从而更好地优化和维护我们的应用。希望这篇文章能为你在项目中集成 Druid 连接池提供一些帮助和参考。

很抱歉,目前Spring Boot的最新版本是2.x系列,并没有Spring Boot 3。不过我可以为您介绍一下在Spring Boot 2.x中如何配置Druid连接池。 在Spring Boot中,配置Druid连接池需要以下几个步骤: 1. 首先,在pom.xml文件中添加Druid和数据库驱动的依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> <!-- 添加数据库驱动依赖,这里以MySQL为例 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> ``` 2. 在application.properties或application.yml文件中配置Druid连接池的相关属性,例如: ```properties # 数据库连接配置 spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=123456 # Druid连接池配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.initial-size=5 spring.datasource.min-idle=5 spring.datasource.max-active=20 spring.datasource.max-wait=60000 spring.datasource.time-between-eviction-runsillis=60000 spring.datasource.min-evictable-idle-time-m=300000 spring.datasource.validation-query=SELECT 1 FROM DUAL spring.datasource.test-while-idle=true spring.datasource.test-on-borrow=false spring.datasource.test-on-return=false spring.datasource.pool-prepared-statements=true spring.datasource.max-pool-prepared-statement-per-connection-size=20 spring.datasource.filters=stat,wall,log4j .datasource.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=0 ``` 3. 在启动类上添加`@EnableTransactionManagement`注解,开启事务管理。 ```java @SpringBootApplication @EnableTransactionManagement public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } ``` 以上就是在Spring Boot配置Druid连接池的基本步骤。您可以根据自己的需求进行相应的配置调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大骨熬汤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值