什么是Druid:Druid是阿里发开的一套基于database的监控平台,相对于其他监控来说对于中文的支持更亲民..

前言:最近这段时间发现项目整体运行响应速度较慢,打算对系统进行深层次的优化(尤其是sql方面),所以打算内置Druid在系统中,用来监控系统的运行情况.

传统的web项目中配置Druid在其github上已有明确的文档,此处不在赘述,如有需要可以参考:https://github.com/alibaba/druid

下面我们来谈谈在springboot中如何内置Druid.

1.需要依赖的jar包:

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>

  特别说明一下:如果使用postgresql的朋友请选择:

      <dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.0.0</version>
</dependency>

  目前我发现的是在这个版本下可用,其他版本可能会出现一些奇怪的报错.

2.配置数据库驱动:

@Configuration
public class DataSourceConfig { @ConfigurationProperties(prefix = "spring.datasource")
@Bean("dataSource")
public DataSource druid(){ return new DruidDataSource();
}
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet());
Map<String, String> initParameters=new HashMap<>();
initParameters.put("loginUsername","***");
initParameters.put("loginPassword","***");
initParameters.put("resetEnable","true");
bean.setInitParameters(initParameters);
bean.setUrlMappings(Arrays.asList("/druid/*"));
return bean;
}
@Bean
public FilterRegistrationBean webFileter(){
FilterRegistrationBean bean = new FilterRegistrationBean(new WebStatFilter());
Map<String, String> initParameters=new HashMap<>();
initParameters.put("exclusions","*.js,*.css,*.png,*.jpg,/druid/*");
bean.setInitParameters(initParameters);
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
}

关于参数的一些说明:

  loginUsername:    登录监控系统的用户名

 loginPassword:    登录监控控系统的密码

  resetEnable:   是否允许重置数据
还可以设置的参数包括:
  allow: 允许登录的ip地址(不填默认为允许所有)
  deny:   拒绝登录的ip地址(拒绝的优先级比同意的优先级高) 

3.配置数据库的相关数据:

spring.datasource.driverClassName=
spring.datasource.username=
spring.datasource.password=
spring.datasource.url=
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.maxActive=80
spring.datasource.queryTimeout=3000
spring.datasource.poolPreparedStatements=true
spring.datasource.filters=stat,wall
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druuid.stat.slowSqlMillis=500
spring.datasource.useGlobalDataSourceStat=true
spring.datasource.validationQuery=select 1 from dual

大体上就只需要这几部就搞定啦!当项目启动之后可以访问*/druid/目录来查看监控页面,这只是一个简单的配置,如果想要实现更加完善或者个性化的功能可以参考官网自主改造~

  

SpringBoot下配置Druid的更多相关文章

  1. Springboot中配置druid

    pom文件信息: <!--引入druid数据源--> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> ...

  2. SpringBoot下配置FreeMarker配置远程模版

    需求产生原因 要求在同一个接口中,根据不同的参数,返回不同的视图结果 所有的视图中的数据基本一致 要求页面能静态化,优化SEO 例如:A接口返回客户的信息 客户A在调用接口时,返回其个性化定制的页面A ...

  3. Springboot项目配置druid数据库连接池,并监控统计功能

    pom.xml配置依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> & ...

  4. springboot中配置druid允许一次执行多条sql

    原文:https://blog.csdn.net/jiangjun0130/article/details/77868578 1:在配置文件中不需要指定wall防火墙filter. 配置如下: spr ...

  5. springboot下配置多数据源

    摘自: http://blog.csdn.net/wangqingqi20005/article/details/52613055

  6. Java之SpringBoot自定义配置与整合Druid

    Java之SpringBoot自定义配置与整合Druid SpringBoot配置文件 优先级 前面SpringBoot基础有提到,关于SpringBoot配置文件可以是properties或者是ya ...

  7. 配置 Druid 数据源及密码加密-SpringBoot 2.7 实战基础

    在SpringBoot中配置 Druid 数据源及密码加密的方法 前文集成 MyBatis Plus,实现了一组增删改查接口.在启动服务时,从控制台中可以看出 Spring Boot 默认使用 Hik ...

  8. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

  9. SpringBoot系列七:SpringBoot 整合 MyBatis(配置 druid 数据源、配置 MyBatis、事务控制、druid 监控)

    1.概念:SpringBoot 整合 MyBatis 2.背景 SpringBoot 得到最终效果是一个简化到极致的 WEB 开发,但是只要牵扯到 WEB 开发,就绝对不可能缺少数据层操作,所有的开发 ...

随机推荐

  1. iptables详解(3):增删改存

    总结一下iptables规则管理的增删改存命令: 1.添加规则: 1)在指定表的指定链的末尾添加一条规则,-A选项表示在末尾添加,-j表示采取的动作,例如DROP.REJECT.ACCEPT 命令语法 ...

  2. 【Python collections】

    目录 namedtuple deque Counter OrderedDict defaultdict "在内置数据类型(dict.list.set.tuple)的基础上,collectio ...

  3. blog主题——黑夜

    blog主题,存储一下 /* Author: Io_oTI*/ /*Public*/ * { margin: 0; padding: 0; box-sizing: border-box; trans ...

  4. Linux运维工作总结教训

    Linux运维一定要知道的六类好习惯和23个教训,避免入坑!从事运维三年半,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题. 今天简单整理一下,分享给各位小伙伴. 一.线 ...

  5. 如何处理 Web 图片优化?

    未优化的图片是影响网站性能的主要因素之一,尤其会影响初次加载.取决于图像的分辨率和画质,图片可能占据整个网站流量的 70%. 生产环境出现未优化的图片并显著影响初次加载速度的现象还是挺常见的.缺乏经验 ...

  6. linux配置放火墙开放端口

    vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火 ...

  7. 安装搭建appium运行环境

    整体步骤: 1.安装appium依赖的Python包(Appium-Python-Client): 2.安装Appium Desktop(集成了appium server和node.js,所以不需要额 ...

  8. 网络辅助北斗/GPS位置服务平台业务量突破10亿次

    导读 北斗卫星导航系统日渐成熟,相关服务也在逐步丰富.深入.为了推动北斗定位功能在手机中的普及,中国信息通信研究院2017年就发布了网络辅助北斗/GPS位置服务平台,支持95%以上商用芯片及终端的北斗 ...

  9. redis (一) --- 基本使用

    概述 redis是基于key-value 我们所说的数据类型实际是 key-value 中的 value .文章主要介绍的是redis 几个重要的数据类型的使用. 简单使用 //keys patter ...

  10. TM1638控制

    原理图图纸: 显示控制与读按键与寄存器的对应 驱动代码:码云: