SpringBoot 集成 Druid过程解析

作者:azuresss 时间:2023-02-25 12:07:59 

Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池。更多资料说明大家可以查看官网

Github:https://github.com/alibaba/druid

Druid官方已经编写好了相关的启动器,我们可以引入启动器,然后进行相关配置就可以使用Druid的各种功能。如果只是引入Druid依赖包,没有引入Druid的SpringBoot启动器依赖,这时如果要实现使用Druid的,需要自己实现数据库连接池对象(DataSource),然后将配置信息注入到实现的连接池对象中。另外如果要使用Druid的监控功能,还需要编写Druid内置监控页面StatViewServlet对象和WebViewFilter到Spring容器中。

这里的话使用Druid启动器进行集成。

1. 在 Spring Boot 项目中加入druid-spring-boot-starter依赖

Maven


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

Gradle

compile 'com.alibaba:druid-spring-boot-starter:1.1.17'

2. 添加基本配置

在SpringBoot中配置文件中加入如下配置,就可以使用Druid连接池了


spring.datasource.url=jdbc:mysql://192.168.56.102:3306/demos?useSSL=false&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.type=com.alibaba.druid.pool.DruidDataSource

上面两步就可以在项目中简单使用Druid连接池了,下面是数据库连接池扩展配置和监控配置

3. 添加数据库连接扩展配置


# 初始化大小,最小,最大
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

4. 添加Druid的监控配置


# 配置多个使用英文逗号隔开,常用的有stat,wall,loj4j,slf4j等spring.datasource.druid.filters=stat
# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled= true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions='*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'

配置好后,项目启动之后,就可以打开Druid的监控界面:http://localhost:8080/druid/index.html 会要求你进行登录,上面设置的是admin/123456

登录后来到监控界面,可以查看数据路连接池信息,请求信息,SQL执行记录

SpringBoot 集成 Druid过程解析

来源:https://www.cnblogs.com/gangbalei/p/11573716.html

标签:spring,boot,集成,druid
0
投稿

猜你喜欢

  • Android实现点击切换视图并跳转传值

    2022-07-14 07:23:28
  • java打印指定年月的日历

    2023-11-11 19:21:19
  • Android Handler机制详解原理

    2023-10-29 22:03:44
  • 详解C#扩展方法原理及其使用

    2022-12-20 03:55:22
  • Java 关键字break和continue的使用说明

    2023-07-22 03:50:59
  • android如何获取联系人所有信息

    2021-10-24 13:24:41
  • C++常见错误中英文对照表

    2023-06-05 04:52:13
  • Java深入浅出数组的定义与使用上篇

    2022-03-10 22:32:58
  • Flutter实现微信朋友圈功能

    2022-10-02 00:28:15
  • 解决Android从相册中获取图片出错图片却无法裁剪问题的方法

    2023-09-14 23:41:15
  • C#实现Excel导入sqlite的方法

    2021-12-02 23:38:17
  • Android实现绘制折线图APP代码

    2022-12-10 07:50:02
  • C#串口通讯概念及简单的实现方法

    2021-06-25 13:49:24
  • 详解JAVA中的for-each循环与迭代

    2022-05-11 12:29:14
  • Android中activity从创建到显示的基本介绍

    2023-01-08 02:07:41
  • Spring的组合注解和元注解原理与用法详解

    2023-12-05 10:25:05
  • JDK常用命令jps jinfo jstat的具体说明与示例

    2021-08-09 16:03:30
  • java 集合之实现类ArrayList和LinkedList的方法

    2023-09-03 05:41:40
  • java微信支付接入流程详解

    2023-07-28 18:37:46
  • Mybatis-Plus字段策略FieldStrategy的使用

    2023-12-13 14:44:41
  • asp之家 软件编程 m.aspxhome.com