【2.0】SpringBoot2配置Druid数据源及监控
什么是Druid?
Druid首先是Java语言中最好的数据库连接池,也是阿里巴巴的开源项目。Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource等等等,秒杀一切。而且Druid已经在阿里巴巴部署了超过600个应用,经过好几年年生产环境大规模部署的严苛考验!
filters: stat,wall,log4j
stat:Druid内置提供一个StatFilter,用于统计监控信息。如果需要配置访问页面可以参考,https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE,我还没有研究这个,有研究的麻烦留意告诉一下,以后会找机会更新上来,毕竟很好用。
wall:Druid防御SQL注入攻击的WallFilter就是通过Druid的SQL Parser分析。Druid提供的SQL Parser可以在JDBC层拦截SQL做相应处理,比如说分库分表、审计等。
log4j:这个就是日志记录的功能,可以把sql语句打印到log4j供排查问题。
方式一、引入第三方druid包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version></version>
</dependency>
但这种在配置时需要手动配置DruidDataSource和监控,因在此过程中遇到ClassNotFound:DruidDataSource(jar正确被引用的情况下)以及其他的错误,所以没有使用这种方式
/**
* @Title: 数据源配置
* @Description: TODO
* @return DataSource
* @author Sunny
* @date 2018年10月31日 下午2:57:45
* @throws
*/
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druid(){
// DruidDataSource dataSource = new DruidDataSource();
// dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
// dataSource.setUrl(env.getProperty("spring.datasource.url"));
// dataSource.setUsername(env.getProperty("spring.datasource.username"));
// dataSource.setPassword(env.getProperty("spring.datasource.password"));
// dataSource.setInitialSize(Integer.valueOf(env.getProperty("spring.datasource.initial-size")));
// dataSource.setMinIdle(Integer.valueOf(env.getProperty("spring.datasource.min-idle")));
// dataSource.setMaxActive(Integer.valueOf(env.getProperty("spring.datasource.max-active")));
// dataSource.setMaxWait(Integer.valueOf(env.getProperty("spring.datasource.max-wait")));
// return dataSource;
return new DruidDataSource();
}
方式二、引入druid-spring-boot-starter包
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version></version> </dependency>
application.yml配置
# 项目配置
spring:
application:
name: provider-user
datasource:
username: root
password:
driver-class-name: com.mysql.cj.jdbc.Driver # mysql8.0以前使用com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/enterprise?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
#type: com.alibaba.druid.pool.DruidDataSource # 使用Druid数据源
druid:
initial-size: 5 # 初始化大小
min-idle: 5 # 最小
max-active: 100 # 最大
max-wait: 60000 # 连接超时时间
time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
min-evictable-idle-time-millis: 300000 # 指定一个空闲连接最少空闲多久后可被清除,单位是毫秒
validationQuery: select 'x'
test-while-idle: true # 当连接空闲时,是否执行连接测试
test-on-borrow: false # 当从连接池借用连接时,是否测试该连接
test-on-return: false # 在连接归还到连接池时是否测试该连接
filters: config,wall,stat # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
maxOpenPreparedStatements: 20
connectionProperties: druid.stat.slowSqlMillis=200;druid.stat.logSlowSql=true;config.decrypt=true
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: /druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico
session-stat-enable: true
session-stat-max-count: 10
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: true
login-username: admin
login-password: admin
注意:spring-boot2中不要使用配置中注掉的type属性,会报错String不能转换为DataSource的错误
监测页面:http://localhost:端口/druid/index.html
【2.0】SpringBoot2配置Druid数据源及监控的更多相关文章
- SpringBoot系列七:SpringBoot 整合 MyBatis(配置 druid 数据源、配置 MyBatis、事务控制、druid 监控)
1.概念:SpringBoot 整合 MyBatis 2.背景 SpringBoot 得到最终效果是一个简化到极致的 WEB 开发,但是只要牵扯到 WEB 开发,就绝对不可能缺少数据层操作,所有的开发 ...
- springboot配置Druid数据源
springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...
- 配置 Druid 数据源及密码加密-SpringBoot 2.7 实战基础
在SpringBoot中配置 Druid 数据源及密码加密的方法 前文集成 MyBatis Plus,实现了一组增删改查接口.在启动服务时,从控制台中可以看出 Spring Boot 默认使用 Hik ...
- spring boot配置druid数据源和监控配置
直接上代码: 一.pom.xml中添加依赖 <dependency> <groupId>com.github.drtrang</groupId> <artif ...
- springboot 配置DRUID数据源
druid 是阿里开源的数据库连接池. 开发时整合 druid 数据源过程. 1.修改pom.xml <dependency> <groupId>mysql</gro ...
- springboot2配置druid数据库连接池
注意配置以下的依赖: <!-- 引入druid数据源--> <dependency> <groupId>com.alibaba</groupId> &l ...
- SpringBoot2 配置多数据源,整合MybatisPlus增强插件
本文源码:GitHub·点这里 || GitEE·点这里 一.项目案例简介 1.多数据简介 实际的项目中,经常会用到不同的数据库以满足项目的实际需求.随着业务的并发量的不断增加,一个项目使用多个数据库 ...
- SpringBoot配置 druid 数据源配置 慢SQL记录
spring: datasource: url: jdbc:mysql://127.0.0.12:3306/test?autoReconnect=true&useUnicode=true&am ...
- spring boot:配置shardingsphere(sharding jdbc)使用druid数据源(druid 1.1.23 / sharding-jdbc 4.1.1 / mybatis / spring boot 2.3.3)
一,为什么要使用druid数据源? 1,druid的优点 Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 但spring ...
随机推荐
- windows 安装mongodb
1.mongodb官网下载:http://www.mongodb.org/downloads 2.将下载的mongodb压缩包解压到对应文件夹,我的是:D:\pc\mongodb,请注意,我的bin目 ...
- 【登录异常解决】Ubuntu 输入正确的密码后重新返回到登陆界面
症状 Ubuntu 输入正确的密码后,黑屏一闪,重新返回到登陆界面. 原因一:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件.说明:X ...
- 26、jQuery
一. jQuery简介 (一) jQuery是什么: 是一个javascript代码仓库 是一个快速的简洁的javascript框架,可以简化查询DOM对象.处理事件.制作动画.处理Ajax交互过程. ...
- 静态方法(staticmethod)和类方法(classmethod)
类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用, ...
- shell 脚本的编写
创建一个shell文件 1. 创建一个.sh文件 2. 文件第一行声明shell编译器路径 #!/bin/bash 3. 修改文件权限 chmod 777 文件名 或 /bin/bash ...
- C# 日期时间
--DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 取当前年月日时分秒 currentTime=System. ...
- 分析Hello2代码
代码如下String username = request.getParameter("username"); if (username != null && us ...
- 《Redis 优化》
一:管道技术 - 由于 redis 和 客户端是使用 TCP 连接的,那么在使用中就会产生往返耗时. - 虽然可能单条影响并不大,但是如果执行较多的命令会对性能产生影响. - 使用管道原理和 keep ...
- java8新特性--Stream的基本介绍和使用
什么是Stream? Stream是一个来自数据源的元素队列并可以进行聚合操作. 数据源:流的来源. 可以是集合,数组,I/O channel, 产生器generator 等 聚合操作:类似SQL语句 ...
- Win7-IE11 For x86&x64离线安装包
一.Internet Explorer11简体中文版离线安装包: 微软已停止了IE11以下版本(包括IE10/9/8)的技术支持.以后Win7用IE11的机会也越来越多,但IE11官方安装 ...