Spring boot项目整合阿里巴巴druid数据库连接池,学了几年Java你这都还不懂?我儿子都知道了

Druid的Web页面使用 1. 启动采集通道 2. 生成数据 生成流式数据,3秒一条,一共10000条 3. 查看数据是否生成 [atguigu@hadoop102 kafka_2.11-0.11.0.2]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic topic_start 4. 添加数据 点击Load da... 阅读详情

Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apache开源;

Druid的作用是负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;

Druid连接池内置强大的监控功能,其中的StatFilter功能,能采集非常完备的连接池执行信息,方便进行监控,而监控特性不影响性能。

Druid连接池内置了一个监控页面,提供了非常完备的监控信息,可以快速诊断系统的瓶颈。

SpringBoot 1.x版本默认使用的的tomcat的jdbc连接池,由于jdbc性能,稳定性,监控能力都不不太好,所以SpringBoot 2.x版本后 默认连接池已经替换成了HikariCP,HikariCP性能强、速度快、口碑好、代码少和稳定,暂时不推荐替换成成其他连接池。
这里记录springboot项目整合druid数据库连接池中间件:

资源准备及版本说明

编程工具:IDEA

JDK版本:1.8

Maven版本:Apache Maven 3.6.3

springboot版本:2.4.4

mybatis版本:1.3.2

mysql版本:5.1.48

druid版本:1.1.21

创建mavem项目

通过IDEA创建很便捷,参考《IDEA创建SpringBoot的maven项目》,springboot项目整合mybatis参考《springboot项目整合mybatis》。

配置pom.xml

druid的pom依赖有两个版本,一个需要编写配置文件,一个是自动配置的,这里选择自动配置版本

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.21</version>
</dependency>

完整pom.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>org.example</groupId>
    <artifactId>springboot-druid</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.8</java.version>
        <mybatis.version>1.3.2</mybatis.version>
        <mysql.version>5.1.48</mysql.version>
        <druid.version>1.1.9</druid.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.alibaba</groupId>-->
<!--            <artifactId>druid</artifactId>-->
<!--            <version>${druid.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

配置application.yml

application.yml配置文件中需要配置druid的相关信息

配置说明如下:

Spring boot项目整合阿里巴巴druid数据库连接池

完整application.yml配置如下:

server:
  port: 8888
spring:
  application:
    name: springboot-druid
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/spring-boot-test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource            # 数据库连接池类别
    druid:
      initial-size: 5                                       # 初始化大小
      min-idle: 10                                          # 最小连接数
      max-active: 20                                        # 最大连接数
      max-wait: 60000                                       # 获取连接时的最大等待时间
      min-evictable-idle-time-millis: 300000                # 一个连接在池中最小生存的时间,单位是毫秒
      time-between-eviction-runs-millis: 60000              # 多久才进行一次检测需要关闭的空闲连接,单位是毫秒
      filters: stat,wall                                    # 配置扩展插件:stat-监控统计,log4j-日志,wall-防火墙(防止SQL注入),去掉后,监控界面的sql无法统计
      validation-query: SELECT 1                            # 检测连接是否有效的 SQL语句,为空时以下三个配置均无效
      test-on-borrow: true                                  # 申请连接时执行validationQuery检测连接是否有效,默认true,开启后会降低性能
      test-on-return: true                                  # 归还连接时执行validationQuery检测连接是否有效,默认false,开启后会降低性能
      test-while-idle: true                                 # 申请连接时如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效,默认false,建议开启,不影响性能
      stat-view-servlet:
        enabled: true                                       # 是否开启 StatViewServlet
        allow: 127.0.0.1                                    # 访问监控页面 白名单,默认127.0.0.1
        deny: 192.168.56.1                                  # 访问监控页面 黑名单
        login-username: admin                               # 访问监控页面 登陆账号
        login-password: admin                               # 访问监控页面 登陆密码
      filter:
        stat:
          enabled: true                                     # 是否开启 FilterStat,默认true
          log-slow-sql: true                                # 是否开启 慢SQL 记录,默认false
          slow-sql-millis: 5000                             # 慢 SQL 的标准,默认 3000,单位:毫秒
          merge-sql: false                                  # 合并多个连接池的监控数据,默认false

# mybatis配置
mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml
  type-aliases-package: com.dandelion.model

# 输出sql语句日志
logging:
  level:
    com:
      springboot:
        dao: debug

访问druid监控中心

启动项目:

Spring boot项目整合阿里巴巴druid数据库连接池

在浏览器中输入http://IP:端口号/druid/index.html访问监控中心

如果有配置登录账号密码,则需要进行登录:

Spring boot项目整合阿里巴巴druid数据库连接池

Spring boot项目整合阿里巴巴druid数据库连接池

定义测试接口查询数据库:

Spring boot项目整合阿里巴巴druid数据库连接池

监控中心记录访问情况

Spring boot项目整合阿里巴巴druid数据库连接池

最后

最近我整理了整套《JAVA核心知识点总结》,说实话 ,作为一名Java程序员,不论你需不需要面试都应该好好看下这份资料。拿到手总是不亏的~我的不少粉丝也因此拿到腾讯字节快手等公司的Offer

Java进阶群

好了,以上就是本文的全部内容了,如果觉得有收获,记得三连,我们下期再见。

#JavaWeb:Druid的Web管理界面 @FDDLC 一、先上效果 二、过程概述 1、新建一个web项目 2、只需导入druid即可 3、配置web.xml:WebStatFilter(可无)、StatViewServlet 不能再多了 三、详细过程 1、项目结构: 注:index.jsp是模板自带的,不用管它!!! 2、依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/... 阅读详情

相关推荐

RuoYi -- 首次导入运行前的配置修改

首次导入运行前需要更新的配置。由于距离首次运行时间较为久远,且使用的RuoYi版本也不是最新版,有问题再更新。

兜兜的博客 709

springboot项目整合druid数据库连接池

Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apache开源; Druid的作用是负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个; Druid连接池内置强大的监控功能,其中的StatFilter功能,能采集非常完备的连接池执行信息,方便进行监控,而监控特性不影响性能。 Druid连接池内置了一个监控页面,提供了非常完备的监控信息,可以快速诊断系统的瓶颈。 SpringBoot 1.x版本默认使用的的tomcat的jdbc连接池,由于jdbc.

nidongla的博客 547

Spring boot项目整合阿里巴巴druid数据库连接池,Java开发自学技巧

大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。麻烦帮忙转发一下这篇文章+关注我vip1024b (备注Java)**[外链图片转存中…(img-NRwWE6Te-1711956443426)]大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。

2301_76225520的博客 1066

#SpringBoot:使用Druid的Web管理界面 #Druid Monitor @FDDLC

一、先上效果: 访问地址为:localhost:8080/druid 可根据自己的项目上下文和端口号自行调整访问地址。 二、过程概述 1、先建一个SpringBoot的Web项目 2、pom依赖有(可自行微调):spring-boot-starter-parent(父依赖)、spring-boot-starter-web、mysql-connector-java、spring-jdbc、druid-spring-boot-starter 3、运行SpringBoot应用,然后..

LiuXingchang的博客 5417

Spring boot项目整合阿里巴巴druid数据库连接池

Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apache开源; Druid的作用是负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个; Druid连接池内置强大的监控功能,其中的StatFilter功能,能采集非常完备的连接池执行信息,方便进行监控,而监控特性不影响性能。 Druid连接池内置了一个监控页面,提供了非常完备的监控信息,可以快速诊断系统的瓶颈。 SpringBoot 1.x版本默认使用的的tomcat的jdbc连接池,由于jdbc性

QAQFyl的博客 1360

【Spring Boot实战与进阶】集成Druid数据库连接池和监控(1)

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示。由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!介绍,每个小节点里面都有更细化的内容!**

2401_83601703的博客 1300

Spring Boot--Druid连接池的配置方法

本文介绍Spring Boot的Druid连接池的配置方法。

IT利刃出鞘的博客 7804

Druid数据库连接 | Spring Boot 集成 Druid实现数据库连接和完善的SQL执行监控

我们知道,应用系统最频繁,最主要的操作还是数据库的操作,所以数据库的性能和安全对于整个系统平台的重要性不言而喻。为了提高数据库性能,我们可以使用数据库连接池,有时候我们需要增加一些列的日志或是数据库性能监控工具来确保数据库的性能,同时还得防范数据库的SQL注入等安全问题。 所以,今天我们来介绍一款集数据库连接池、数据库监控、SQL执行日志于一身的神器:Druid。 一、Druid简介 Druid 是阿里巴巴开源平台上的一个数据库连接池项目,它结合了 C3P0、DBCP 等数据库池的优点,同时加入了S

a6636656的博客 6004

Spring Boot整合Druid(druid 和 druid-spring-boot-starter)

本文将介绍如何在Spring Boot应用中轻松集成Druid连接池,以及如何通过Druid的监控页面实时查看数据库连接状态,为应用的数据库性能提供优化方案。

奇遇少年 9606

基于Spring Boot的Druid数据库连接池集成实战Demo

别以为用了MyBatis/Hibernate就安全了,动态拼SQL的情况依然存在。Druid的就是为此而生。Druid的成功告诉我们:一个好的中间件,不仅要解决问题,更要预防问题。它让我们意识到,数据库访问不应该是一个“用了就行”的基础能力,而是一个需要持续观测、主动防护、动态调优的关键系统。下次当你再次打开准备配置Druid时,希望你能多花一分钟思考:这些参数背后的逻辑是什么?我的系统真的安全吗?监控能不能第一时间发现问题?毕竟,真正的稳定性,藏在细节里。

weixin_42601608的博客 878

CocosCreator | 自定义启动页之H5

01 效果对比 默认启动页: 自定义启动页: 02 启动页存在的意义 我们在 creator 中的开发的游戏都是基于 cocos engine,所以在展示我们的游戏之前,是必须要先加载 cocos engine,然后才是我们自己的业务代码 流程图如下: 而构建完成后未精简的 cocos engine 代码为 1.9M 如果再加上物理相关代码的话,一共是2M 别忘了,我们自己的首场景也要加载过程哦 所以,从游戏启动,到真...

Valiancer 5899

使用Druid连接池优化Spring Boot应用中的数据库连接

在现代的Java应用中,数据库连接管理是一个非常重要的环节。合理地配置数据库连接池可以显著提升应用的性能和稳定性。本文将介绍如何在Spring Boot应用中使用阿里巴巴的Druid连接池来优化数据库连接管理。

李长渊的博客 1736

HC-05蓝牙模块详细配置、连接与使用过程

用手按着模块上的按键,再给蓝牙模块上电。当蓝牙模块上的灯慢闪的时候就说明进入了配置模式了。在配置蓝牙的时候一定要将串口助手按这个要求配置:设置波特率 38400,数据位 8 位,停止位 1 位,无校验位,这是固定操作! 根据蓝牙的主从模式进行不同的设置,二者主要区别就在于AT+ROLE这个指令如果这里没返回OK可能有一下几种情况:如果正常返回OK,那就可以进行下一步了 配置蓝牙密码的时候,特别是配置HC05,密码必须加双引号"",否则不能正常设置!!!! 给从机模式蓝牙配置好之后,将蓝牙重

qq_51688022的博客 2万+

数据库连接池Druid

Druid介绍 Maven依赖 配置参数 url、username、password、driverClassName、maxActive、maxIdle、minIdle、maxWait、initialSize、maxEvictableIdleTimeMillis、timeBetweenEvictionRunsMillis、minEvictableIdleTimeMillis、testWhileIdle、testOnBorrow、testOnReturn、validationQuery

骑个小蜗牛的博客 2147

从叶片之舞到数据之眼:净空雷达如何重塑风电安全与效率的边界

净空雷达通过激光或毫米波技术实现风机叶片与塔筒间距离的毫米级实时监测,极大提升了风电场在极端天气下的安全性与运营效率。这项技术不仅预防扫塔事故,还通过数据可视化与智能分析赋能叶片健康管理和发电优化,成为风电数字化运维的核心基础设施。

xk7n92h3p5m的博客 1162

告别手动抓信号!Synopsys AXI VIP的Port Monitor实战:5分钟搞定与Scoreboard的TLM连接

本文详细介绍了Synopsys AXI VIP的Port Monitor功能,帮助验证工程师快速实现与Scoreboard的TLM连接,5分钟内完成自动数据收集。通过实战指南和常见问题排查,提升验证效率,告别手动抓信号的繁琐流程。

weixin_30565327的博客 300

spring-boot 连接池 druid 的配置及监控

连接池 Druid 简介 Druid是Java中最好的数据库连接池,并且能够提供强大的监控和扩展功能。业界把Druid和HikariCP做对比后,虽说HikarCP的性能比Druid高,但是因为Druid包括很多维度的统计和分析功能,所以也是大家学则使用的主要原因。 Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一

zl 1万+

RICHARDSON-LUCY 去卷积简介

Lucy去卷积1.泊松过程及联合概率分布2.极大似然估计参考文献 1.泊松过程及联合概率分布 首先假设相机接收光子生成图像的过程符合泊松分布。 因此,一次曝光过程中,某像素位置接收到iii个光子的概率p(i)p(i)p(i)为: p(i)=exp⁡(−λ)⋅λii!\qquad\qquad p(i)=\exp(-\lambda)\cdot\cfrac{\lambda^{i}}{i!}p(i)=exp(−λ)⋅i!λi​ 那么针对一张M∗NM*NM∗N的图像,所有像素的联合概率分布可以描述为: P(I)=∏e

驽马十驾,功在不舍;锲而不舍,金石可镂。 8695

【SpringBoot教程】Spring Boot + MySQL + Druid连接池整合教程

Druid 是阿里巴巴开源的一款高性能数据库连接池,集成了 C3P0、DBCP 等传统连接池的优点,并针对高并发和大规模生产环境进行了优化。它提供了高效的数据库连接管理,具备强大的监控和统计功能,能够实时监控 SQL 执行、连接池状态,并提供慢查询分析,帮助开发者优化数据库性能。Druid 具有灵活的配置选项,支持连接泄露检测、SQL 防火墙、黑白名单过滤等安全特性,确保数据库的稳定性与安全性。

神马都会亿点点的毛毛张 2969

2026.3.28:langgraph使用mysql进行持久化会话存储(短期记忆和长期记忆)

本文介绍了如何使用MySQL持久化存储LangGraph会话数据(短期和长期记忆)。首先安装必要的依赖包,然后通过Python代码实现将短期记忆写入MySQL数据库。主要步骤包括:1) 建立MySQL连接;2) 创建代理(agent)并配置检查点(checkpointer)和存储(store);3) 实现工具函数如计算器和天气查询;4) 使用中间件跟踪工具和模型调用次数。最后展示了如何从MySQL读取短期记忆数据,完成会话的持久化存储和检索功能。代码示例包含完整的实现细节,包括状态管理、消息处理和数据库操作

拥抱具身智能,昇腾Ascend C 737

Authentication Assertion Tickets,SAP 系统到系统单点登录里的短命凭证

SAP 系统间的身份传递机制存在 Authentication Assertion Ticket 和 SAP Logon Ticket 两种易混淆的凭证。前者用于系统间短时身份委托(有效期2分钟,通过HTTP头传输),后者用于浏览器SSO(可配置有效期,通过Cookie传输)。Assertion Ticket依赖签发系统的数字签名和严格的时间同步,适用于ABAP/Java系统间的后台作业调用。现代SAP架构已转向OAuth 2.0等标准协议,但老系统中仍需注意两种票据的关键差异:传输方式、有效期、接收方限制

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 602

阿里巴巴 Druid 连接池:从入门到生产级配置

Druid 是功能全面、性能优异的数据库连接池,尤其适合需要监控、安全防护、定制化扩展的企业级应用。在 Spring Boot 项目中,结合 Druid 的监控能力,可快速定位数据库性能问题,是生产环境的首选连接池之一。

2201_75355172的博客 3054

51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真

DHT11+LCD1602+串口输出+Proteus仿真

perseverance51博客 7198

Spring Boot整合Druid连接池开启数据库监控功能

Druid介绍 Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Loging能诊断Hack应用行为。Druid是一个JDBC组件库,包括数据库连接池、SQL Parser等组件。DruidDataSource是最好的数据库连接池. 导入依赖:(注意:springboot + druid 整合的过...

mastertojava的博客 3606

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: Apache Solr搜索引擎搭建、配置、使用详细教程
下一篇: BAT面试必问:a减b小于0与a小于b什么区别?溢出感知代码?
普通网友
博客等级 码龄6年 3807粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值