news 2026/6/9 22:40:56

Springboot3学习(5、Druid使用及配置)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Springboot3学习(5、Druid使用及配置)

Springboot3学习——Druid使用及配置(五)

0、Druid

启动项目,我们可以看到Springboot3自带的数据库连接池是HikariPool,HikariPool的主要优点是高性能,而我们即将集成的Druid数据库连接池,主要有点则是丰富的扩展以及优秀的监控性能。从学习的角度来讲,Druid相比较其他数据库连接池而言,更加的全面。

1、pom.xml添加druid-spring-boot-3-starter依赖

Springboot3集成Druid,我们使用druid-spring-boot-3-starter包。springboot2则使用的是druid-spring-boot-starter

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

2、添加application.yml

我们新增application.yml,来配置druid相关配置,注释掉application.properties(ymlx相比于properties,更加的简洁和易读),配置如下

spring: application: name: zyp datasource: type: com.alibaba.druid.pool.DruidDataSource #设置数据源的类型 driver-class-name: com.mysql.cj.jdbc.Driver #指定MySQL的JDBC驱动类名 url: jdbc:mysql://localhost:3306/sugar #数据库连接的URL地址 username: root #数据库登录的用户名 password: lyh2016 #数据库登录的密码 druid: initial-size: 5 #初始创建时建立的连接数 min-idle: 5 #最小空闲连接数 max-active: 20 #最大的连接池数量 max-wait: 60000 #获取连接的最大等待毫秒数 time-between-eviction-runs-millis: 60000 #两个连接空闲检查之间的时间间隔 min-evictable-idle-time-millis: 30000 #连接在池中最小生存时间后才允许被驱逐 validation-query: select 'x' #检查连接是否可用的 SQL 查询 test-while-idle: true #申请连接前检测连接是否有效 test-on-borrow: false #申请连接时进行连接有效性检验 test-on-return: false #归还连接时进行连接有效性检验 pool-prepared-statements: false #是否开启 PreparedStatement 的缓存 filters: stat,wall,slf4j #配置扩展插件,常用的有 stat(监控统计)、wall(SQL防火墙)、log4j(日志)等 max-pool-prepared-statement-per-connection-size: -1 #每个连接上PSCache最大语句数 use-global-data-source-stat: true #是否开启合并Stat connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #连接属性,用于合并 SQL 和设置慢 SQL 的阈值 web-stat-filter: enabled: true #是否启用该过滤器 url-pattern: /* exclusions: /druid/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico stat-view-servlet: enabled: true #是否启用监控页面 url-pattern: /druid/* reset-enable: false #是否允许重置监控数据 login-username: druid #登录监控页面所需的用户名 login-password: druid #登录监控页面所需的密码 allow: 127.0.0.1 #允许访问监控页面的 IP 地址或地址段列表 deny: #明确拒绝访问监控页面的 IP 地址或地址段列表。如果留空,则默认拒绝所有未在 allow 中列出的 IP 地址。

3、启动

成功运行,我们可以看到数据库连接池已经变成Druid。

由于我们在配置文件中,启用了监控页面,我们来登录http://localhost:8080/druid/login.html

输入配置的账号密码,进入监控页面,如下图

我们点击SQL监控,并登录swagger地址http://localhost:8080/swagger-ui/index.html#/(如何配置使用swagger,详情见Springboot3学习(4、Swagger使用及配置),调用show接口,查看效果,如下图

大功告成!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:01:05

SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)

分页是常见大型项目都需要的一个功能&#xff0c;PageHelper是一个非常流行的MyBatis分页插件&#xff0c;它支持多数据库分页&#xff0c;无需修改SQL语句即可实现分页功能。 本文在最后展示了两种依赖验证的结果。 文章目录 一、第一种依赖方式二、第二种依赖方式三、创建数…

作者头像 李华
网站建设 2026/6/10 0:49:19

发布-订阅模式:流处理架构中的瑞士军刀

你好&#xff0c;我是程序员贵哥。 今天我想要与你分享的是在处理大规模数据中十分流行的一种设计模式&#xff1a;发布/订阅模式&#xff08;Publish/Subscribe Pattern&#xff09;&#xff0c;有些地方也称它为Pub/Sub。 在了解发布/订阅模式之前&#xff0c;我想先简单介…

作者头像 李华
网站建设 2026/6/10 12:46:37

Keil5乱码问题排查:编码一致性核心要点

Keil5中文注释乱码&#xff1f;一文讲透编码根源与实战解决你有没有遇到过这样的场景&#xff1a;在Keil5里打开一个C文件&#xff0c;明明昨天还清清楚楚的“初始化GPIO引脚”&#xff0c;今天却变成了“鍒濆鍖朞PIO寮曡剼”&#xff1f;或者更离谱地显示成一堆方框、问号&a…

作者头像 李华
网站建设 2026/6/10 14:48:42

利用HAL库实现浮点数据转换示例

从ADC采样到真实世界&#xff1a;用HAL库搞定浮点转换的那些事 你有没有遇到过这样的场景&#xff1f; 接上一个温度传感器&#xff0c;读出来的数值明明是12位ADC原始值&#xff08;比如 3056 &#xff09;&#xff0c;但你想知道的是“现在室温到底是23.7℃还是24.1℃”。…

作者头像 李华
网站建设 2026/6/10 14:11:37

AI智能体进化:学习与MCP协议实战

智能体的“自我修炼”与“通用接口”&#xff1a;学习适应与MCP协议实战解析 在智能体从“被动执行”走向“主动智能”的进化中&#xff0c;“学习与适应”是其突破预设局限的核心能力&#xff0c;而“模型上下文协议&#xff08;MCP&#xff09;”则是其打通外部世界的关键桥梁…

作者头像 李华
网站建设 2026/6/10 14:08:04

vivado2018.3电源规划与IO标准配置:全面讲解

Vivado 2018.3 中的电源规划与 IO 配置实战&#xff1a;从原理到避坑指南你有没有遇到过这样的情况&#xff1f;FPGA 逻辑功能明明写得没问题&#xff0c;仿真也通过了&#xff0c;可一上板子——HDMI 黑屏、DDR 接口时序紊乱、系统运行几分钟就发热重启。排查一圈下来&#xf…

作者头像 李华