Druid概述

Druid是阿里巴巴开源的一款非常优秀的数据库连接池。在Java应用程序开发中,常用的连接池还有DBCP、C3P0、Proxool等。
SpringBoot2.X 版本开始默认的是HikariCP(号称性能最好的数据库连接池),Druid性能好而且监控也比较方便。
刚兴趣的同学可以读一下,GitHub地址:

https://github.com/alibaba/druid/wiki/Druid%E8%BF%9E%E6%8E%A5%E6%B1%A0%E4%BB%8B%E7%BB%8D接下来我们就来讲解如何集成Druid数据源

集成Druid

  • 首先是在pom.xml中添加依赖

  • 接着在资源根目录下添加一个配置文件,命名为application-druid.yml

内容如下:

spring:  ## 数据库配置  datasource:    type: com.alibaba.druid.pool.DruidDataSource    driver-class-name: com.mysql.cj.jdbc.Driver    druid:      url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8      username: root      password: root      # 初始连接数      initialSize: 5      # 最小连接池数量      minIdle: 10      # 最大连接池数量      maxActive: 20      # 配置获取连接等待超时的时间      maxWait: 60000      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒      timeBetweenEvictionRunsMillis: 60000      # 配置一个连接在池中最小生存的时间,单位是毫秒      minEvictableIdleTimeMillis: 300000      # 配置一个连接在池中最大生存的时间,单位是毫秒      maxEvictableIdleTimeMillis: 900000      # 配置检测连接是否有效      validationQuery: SELECT 1 FROM DUAL      testWhileIdle: true      testOnBorrow: false      testOnReturn: false      webStatFilter:        enabled: true      statViewServlet:        enabled: true        # 设置白名单,不填则允许所有访问        allow:        url-pattern: /druid/*        # 控制台管理用户名和密码        login-username: root        login-password: root      filter:        stat:          enabled: true          # 慢SQL记录          log-slow-sql: true          slow-sql-millis: 1000          merge-sql: true        wall:          config:            multi-statement-allow: true

参数说明:

  • spring.datasource.druid.max-active 最大连接数

  • spring.datasource.druid.initial-size 初始化大小

  • spring.datasource.druid.min-idle 最小连接数

  • spring.datasource.druid.max-wait 获取连接等待超时时间

  • spring.datasource.druid.time-between-eviction-runs-millis 间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒

  • spring.datasource.druid.min-evictable-idle-time-millis 一个连接在池中最小生存的时间,单位是毫秒

  • spring.datasource.druid.filters=config,stat,wall,log4j 配置监控统计拦截的filters,去掉后监控界面SQL无法进行统计,’wall’用于防火墙

这样就可以最简单的启动了

有人可能会遇到如下的错误信息:

缺少了类似mybatis、spring-data-jpa这类的数据包,Druid需要依赖这些才能启动

在浏览器输入:http://localhost:8080/druid/login.html,出现Druid监控登录框,用户名和密码为配置文件里的内容

LOGIN

index

在这里可以查看各类数据的监控信息,帮助系统的优化。

总结

这里只是做了最简单的集成,在后续的项目中使用的话会另起一篇深入探讨。

项目地址

https://gitee.com/kaixinshow/springboot-note

springboot默认数据源如何设置连接数_Spring Boot学习:如何使用Druid数据源相关推荐

  1. springboot默认数据源如何设置连接数_spring boot基于DRUID数据源密码加密及数据源监控实现...

    项目源码路径:https://github.com/Syske/learning-dome-code.git 前言 随着需求和技术的日益革新,spring boot框架是越来越流行,也越来越多地出现在 ...

  2. springboot默认数据源如何设置连接数_Spring Boot系列之配置数据库连接池

    在实际的应用开发中,与数据库交互通常使用数据库连接池来重用Connection对象,减少资源消耗. Spring Boot 的数据源是自动配置的.在 Spring Boot 2.2.1 版本中,有几种 ...

  3. boot druid 长时间不连接 异常_Spring Boot学习:如何使用Druid数据源

    Druid概述 Druid是阿里巴巴开源的一款非常优秀的数据库连接池.在Java应用程序开发中,常用的连接池还有DBCP.C3P0.Proxool等. SpringBoot2.X 版本开始默认的是Hi ...

  4. druid 多数据源_Spring Boot + Mybatis 中 配置Druid多数据源并实现自由切换

    概述 前面我们已经介绍过了对MyBatis.Druid的整合,接下来我们在之前的基础上做扩展,实现对Druid多数据源的配置以及动态切换数据源. 问题:多数据源使用场景有哪些呢? 回答:在业务发展中, ...

  5. springboot日志配输出路径配置_Spring Boot 日志配置方法(超详细)

    默认日志 Logback : 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图 ...

  6. maven springboot 除去指定的jar包_Spring Boot打包瘦身 Docker 使用全过程 动态配置、日志记录配置...

    springBoot打包的时候代码和jar包打包在同一个jar包里面,会导致jar包非常庞大,在不能连接内网的时候调试代码,每次只改动了java代码就需要把所有的jar包一起上传,导致传输文件浪费了很 ...

  7. java lettuce配置多数据源_Spring Boot 2.x Redis多数据源配置(jedis,lettuce)

    多数据源最终表现其实就是 redis connection factory 不同 springboot 默认的redis配置维护了一套 connection factory 自己维护一套 connec ...

  8. redis 设置连接数配置修改 java 最大连接数_Spring Boot集成mysql与Redis

    上一篇文章:一分钟解决临时需求,设计一个可热部署的切面 在项目搭建初期,我们便集成了mysql数据库,但是在现代的分布式架构中,往往还需要一种更高访问性能的键值数据库Redis.mysql结合redi ...

  9. springboot设置运行内存_spring boot应用优化,6s内启动,内存减半

    前言 taptap-developer是一个spring boot框架驱动的纯Grpc服务,所以,只用了四步,移除了web和spring cloud相关的模块后,启动速度就稳稳的保持在了6s内.除了启 ...

  10. springboot事务回滚源码_Spring Boot中的事务是如何实现的

    1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...

最新文章

  1. html页面获取服务器时间,[html]定时获取服务器时间和本地时间
  2. 三角形内随机生成一个点
  3. JDK 监控和故障处理工具总结
  4. mysql从oracle取数_Oracle通过过程定期取数
  5. Qt on android 蓝牙开发(控制小车)
  6. codeforces1497 E. Square-free division(数学+dp)
  7. 昆仑通态如何连接sqlserver数据库_sqlserver数据库怎么开启远程连接,给到别人访问...
  8. jmeter 配置 slave 代理压测机
  9. Pytorch:ToTensor(object)类
  10. 田字格怎么用C语言编写程序,怎么写算法设计
  11. wxpython使用_wxPython学习笔记(二)
  12. Java毕设项目航空订票系统火车票订购系统(2021最新)
  13. android 阿拉伯语下布局,android设计的布局在阿拉伯语下界面错乱的解决方法
  14. Win10 迅雷9精简优化设置方法
  15. linux steam安装目录,如何在Ubuntu Linux上下载和安装Steam
  16. 单片机中断实验 EX0
  17. 段地址寄存器、偏移地址寄存器
  18. 【2015DTCC】专访永洪科技CEO:商业智能搬运大数据之谜
  19. python图片保存jpg、show变成bmp_python bmp转换为jpg 并删除原图的方法
  20. The Sandbox 开启 2022 年新征途,Mega City 土地销售来啦

热门文章

  1. 关于在GridControl中添加GridLookUpEdit绑定数据
  2. 工厂设计模式究竟怎么写更优雅?!
  3. HashTable源码简单介绍
  4. 【转】navicat远程连接mysql,2003 can't connect to mysql server on 10038
  5. SecondaryNamenode配置与NameNode故障恢复
  6. 【C#】 用Route进行URL重写
  7. Q:How to read attribute from a tag
  8. php aws_2018-03-06 使用AWS PHP SDK将文件上传到AMAZON S3
  9. 5 table滑动固定_淮南滑动管托固定管托
  10. Spring Cloud Sleuth链路跟踪之使用Mysq保存服务链路跟踪信息(学习总结)