SpringBoot 集成 Druid

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-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.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执行记录

原文地址:https://www.cnblogs.com/gangbalei/p/11573716.html

时间: 2024-10-06 21:45:38

SpringBoot 集成 Druid的相关文章

springboot 集成druid

1.druid简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss DataSource.Druid充当数据库连接池,可以监控数据库访问性能,可以获得SQL执行日志 2.配置 加入druid相关配置(.yml配置文件) spring: #数据库配置 datasource: type: com.alibaba.druid.pool.DruidDataSource

springboot集成druid数据源并且监控

Druid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能. 业界把 Druid 和 HikariCP 做对比后,虽说 HikariCP 的性能比 Druid 高,但是因为 Druid 包括很多维度的统计和分析功能,所以这也是大家都选择使用它的原因. 首先配置 druid maven 依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactI

springboot集成druid连接池不支持批量更新

原因:Druid的防火墙配置(WallConfig)中变量multiStatementAllow默认为false: 解决方案:设置Druid的防火墙配置(WallConfig)中变量multiStatementAllow=true,新建DruidDataSource配置类 配置类代码: @Configuration public class DataSourceConfig { @Autowired WallFilter wallFilter; @Bean //声明其为Bean实例 @Prima

SpringBoot集成阿里巴巴Druid监控

druid是阿里巴巴开源的数据库连接池,提供了优秀的对数据库操作的监控功能,本文要讲解一下springboot项目怎么集成druid. 本文在基于jpa的项目下开发,首先在pom文件中额外加入druid依赖,pom文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu

SpringBoot入门之集成Druid

Druid:为监控而生的数据库连接池.这篇先了解下它的简单使用,下篇尝试用它做多数据源配置.主要参考:https://github.com/alibaba/druid/wiki/常见问题 https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter 一.引入依赖 这里看其他博客都是引用的Druid,由于是使用springboot集成,这里参考druid官方文档,用的是druid-spring-boot-starter

SpringBoot 2.1.1.RELEASE 集成Druid

SpringBoot 2.1.1.RELEASE 集成Druid详情:http://www.qchcloud.cn/system/article/show/68配置依赖: mysql mysql-connector-java com.alibaba druid 1.1.4 配置applicaton.properties spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver spring.datasource.url = jdbc

【springboot】集成Druid 作为数据库连接池

转自:https://blog.csdn.net/cp026la/article/details/86508139 1. 引言 用户的每一次请求几乎都会访问数据库,访问数据库需要向数据库获取链接,而数据库创建连接是需要消耗资源的.数据库连接也是一种资源.使用数据库连接池等都是十分有必要的.本章小结一下Druid数据库连接池在SpringBoot1.5中的使用. Druid 学习地址: https://github.com/alibaba/druid/wiki/FAQ 非常详细 2. 数据库连接池

Springboot集成Mybatis+PageHelper

1.Springboot项目引入mysql和mybatis的依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <dependency> <gr

SpringBoot集成Jersey

SpringBoot集成Jersey 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency> 添加配置 ①新建JerseyConfig.java @Component @ApplicationPath("/jersey"