spring boot 集成Druid

简介: Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池)。今天主要讲在SpringBoot2.0中集成Druid。

Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池)。今天主要讲在SpringBoot2.0中集成Druid。


在springboot2.0中,几乎不用修改任何代码,只需要引入pom.xml,更新application.yaml即可轻松完成Druid的搭建。


pom.xml 配置如下

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


配置完,


在pom.xml右键,进行maven  reimport操作


image.png


更新完,我们可以点击配置行,进行跳转到druid的配置文件。


那么接下来, 就是在application.yaml进行配置


spring:
  datasource:
    druid:
      driver-class-name: com.mysql.jdbc.Driver 
      url:  jdbc:mysql://127.0.0.1:3306/plan?serverTimeZone=UTC&characterEncoding=utf8&useSSL=true   #数据库连接
      username:  root #数据库密码
      password: liwanlei  #数据库用户名
        #配置线程池初始化大小,
      initial-size: 10
      max-active: 1000
      min-idle: 10
      max-wait: 60000 #连接超时配置
      time-between-eviction-runs-millis: 2000 #多久进行检测一次空闲的连接,单位毫秒
      max-evictable-idle-time-millis: 900000   #连接最大生存时间,单位毫秒
      min-evictable-idle-time-millis: 600000   #  连接最小生存时间
      keep-alive: true   
      filter:
        stat:
          slow-sql-millis: 10000   #配置监控拦截,慢sql,10秒,并且通过日志输出执行慢的SQL
          log-slow-sql: true


启动工程

我的是在本地,。

访问http://127.0.0.1:9999/druid/sql.html


image.png


可以看到执行的sql 和执行的详细信息,


image.png


当然还有其他监控信息


image.png


监控的信息还是很全的,


我们看下uri的监控


详情


image.png


这些信息都能实时的统计。

 感谢阿里开源。


本文参考地址:

https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter

https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE


相关文章
|
2月前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
|
1月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
124 1
|
6天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
17 2
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
54 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
28天前
|
druid Java Maven
|
1月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
90 1
|
1月前
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
267 11
|
1月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
58 2
|
1月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
91 0