web程序普遍的都会涉及到数据库的操作,为了提高系统的性能,在数据库操作上,几乎千篇一律的使用了数据库连接池技术,数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。

可以说,druid是目前为止最好的数据库连接池。下面就以实例的方式演示如何开启数据库监控功能。目前spring boot特别的火,就以spring boot项目为例吧。

一、创建spring boot项目,建好之后,目录层级如下:(注意配置maven

二、在pom.xml中添加相关依赖,如下:

三、配置数据库连接池(springboot项目建好后会有一个application.properties,可以将配置填写到里面,在此我把application.properties改为application.yml,配置在此文件中,作用是一样的,具体原因,卖个关子,嘻嘻嘻)

四、开启监控功能

开启Druid连接池的监控功能,可以在应用运行期间,通过监控提供的多维度数据来分析使用数据库的运行情况,从而可以调整程序设计,以达到优化数据库访问性能的目的。接下来定义一个监控服务器和一个过滤器,监控服务器设定了访问监控后台的连接地址为“/gby/druid/*”,设定了访问数据库的白名单和黑名单,即通过访问者IP地址来控制访问来源,增加了数据库的安全设置,还设置了一个用来登录监控后台的账户和密码。代码如下:

package com.bing.demo;import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;/*** Druid 配置类* @author gby* 2018-09-04*/
@SuppressWarnings("all")
@Configuration
public class DruidConfigDemo {/*** 配置监控服务器** @return 返回监控注册的servlet对象*/   @Beanpublic ServletRegistrationBean statViewServletDemo() {ServletRegistrationBean srb = new ServletRegistrationBean(new StatViewServlet(), "/gby/druid/*");// 添加IP白名单srb.addInitParameter("allow", "127.0.0.1");// 添加IP黑名单,当白名单和黑名单重复时,黑名单优先级更高srb.addInitParameter("deny", "192.168.25.123");// 添加控制台管理用户srb.addInitParameter("loginUsername", "gby");srb.addInitParameter("loginPassword", "123");// 是否能够重置数据srb.addInitParameter("resetEnable", "false");return srb;}/*** 配置服务过滤器** @return 返回过滤器配置对象*/@Beanpublic FilterRegistrationBean statFilterDemo() {FilterRegistrationBean frb = new FilterRegistrationBean(new WebStatFilter());// 添加过滤规则frb.addUrlPatterns("/*");// 忽略过滤格式frb.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*,");return frb;}
}

五、启动springboot的启动类,如下:

六、当项目启动成功后,打开浏览器输入http://localhost:8080/gby/druid/login.html,出现如下界面:

七、输入用户名:gby,密码:123 进行登录

登录就可以查看SQL使用情况了。

Druid连接池开启数据库监控功能相关推荐

  1. SpringBoot2.0 基础案例(07):集成Druid连接池,配置监控界面

    一.Druid连接池 1.druid简介 Druid连接池是阿里巴巴开源的数据库连接池项目.Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能.功能强大,能防SQL注入,内置Login ...

  2. druid连接池因数据库故障导致主线程挂起停止响应的优化

    快速翻看 一.问题背景 二.问题排查 三.问题原因 四.问题解决 五.总结 一.问题背景 某天晚上,突然收到运维同事反馈说系统告警,A系统调用B系统出现大量超时,通过日志分析,B系统中出现了大量的my ...

  3. Druid连接池自定义数据库密码加解密的实现

    Druid的功能 1.替换DBCP和C3P0.Druid提供了一个高效.功能强大.可扩展性好的数据库连接池. 2.可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能 ...

  4. springboot 2.0.5配置Druid连接池和web监控后台

    配置类: import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewSe ...

  5. Druid连接池实现数据库加密

    前言 不难发现,以我们现在的开发习惯,无论是公司的项目还是个人的项目,都会选择将源码上传到 Git 服务器(GitHub.Gitee 或是自建服务器),但只要将源码提交到公网服务器就会存在源码泄漏的风 ...

  6. druid连接池配置数据库密码加密

    druid配置数据库密码加密后,可以把密码放在配置文件里,或本地其他文件.远程服务器等三种地方,这里只讲第一种方法. 1.密码加密:cd到druid包所在文件夹打开命令行,输入 java -cp dr ...

  7. 注意:阿里Druid连接池监控的两个坑

    image 阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性.但在实际情况中也有不少坑,说下最近遇到的一个坑吧! 问题1:不断打印error级别的错误日志 session ...

  8. 阿里Druid连接池监控的两个坑

    转载自 注意:阿里Druid连接池监控的两个坑 阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性.但在实际情况中也有不少坑,说下最近遇到的一个坑吧! 问题1:不断打印er ...

  9. 应用使用Druid连接池经常性断链问题分析

    前段时间有应用使用Druid连接池经常的提示断链报错,整个问题排查分析过程很有意思.这里将Druid连接池.数据库层以及负载均衡层的配置分析下,记录整个问题的分析过程,同时梳理下Druid连接池的配置 ...

最新文章

  1. RESTful编程究竟是什么?
  2. 【正一专栏】欧冠四强猜想—不是冤家不聚首
  3. 用实例讲解Spark Sreaming--转
  4. DOS获取局域网内所有正在使用的ip地址
  5. 神策数据上线 IPTV Demo ,三大价值助力数据驱动
  6. yii2设置默认控制器
  7. 04 canvas——位移画布和旋转缩放
  8. 一个题目涉及到的50个Sql语句
  9. Java抽象类与接口的区别:
  10. 图像识别深度学习主流方案平台比较
  11. 得力计算机dl1526第15个音乐,得力dl1526乐谱 | 手游网游页游攻略大全
  12. DataBinding 的集成:点击AIL+Enter , 没有出现【convert to data binding layout】怎么办?
  13. linux ip转发 丢包,sendto频率过快导致发送丢包
  14. 光敏二极管的工作原理
  15. js多重循环遍历渲染
  16. windows10系统如何设置开机自启动
  17. word文档添加批注
  18. 在学习thymeleaf中,给function 方法传Controller传递过来的参数,报错:Uncaught SyntaxError: missing ) after argument list
  19. 保姆级使用PyTorch训练与评估自己的MobileNetV2网络教程
  20. 基于原生开发的全新中文安卓应用开发平台

热门文章

  1. SLIC 超像素分割详解(三):应用
  2. jQuery赋值checked的几种写法:
  3. ERP编制物料清单 基础
  4. $(this)与this的区别
  5. SQL leetcode 刷题答案(二)
  6. 有道词典工具(命令行+GUI)
  7. troubleshooting之解决YARN队列资源不足导致的application直接失败
  8. Centos7安装Promethus(普罗米修斯)监控系统完整版
  9. 4t gpt索引 linux如何挂载,LINUX教学:Ubuntu 16.04通过GPT挂载硬盘
  10. 远程连接Mysql报10038错误