一、什么是Druid:
Druid是一款阿里出品的数据库连接池,等同于以前我们常用的DBCP,C3P0。近几年来火爆的趋势已经超过了传统的C3P0和DBCP。Druid能够提供强大的监控和扩展功能,其可视化界面也是一目了然。先上一个可视化界面的图片:
二、什么是数据库连接池及作用:
定义:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
三、Durid适用场景:
三、Durid的功能:
1、替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
2、可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
3、数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
4、SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
5、扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。
四、具体实现:
1、引入我们需求的jar包依赖:
2、application配置文件:很多配置详情在配置文件中有详细注释
我这里是properties的配置,yml也一样,层次感更强。
3、启动类:不变,无需添加新的注解
4、controller和dao层都不用变化,因为这里我们的druid只是一个监控的工具,所以我们需要配置它的servlet。
这里先分享一个基于注解的servlet写法:
其可视化界面servlet核心是StatViewServlet,Druid内置提供了一个StatViewServlet用于展示Druid的统计信息,这个StatViewServlet的用途包括:1、提供监控信息展示的html页面;2、提供监控信息的JSON API
在spring-boot中可以使用注解WebServlet来声明这是一个servlet,类似于web项目里web.xml中需要配置url和servlet之间对应。
然后我们要声明一个过滤器。其统计功能实际就是利用它提供的filter实现,通过扩展filter我们可以监控
connection,(Prepared)Statement,resultSet 的任何方法。
具体的参考一个大佬的解释:
这样我们的可视化统计界面就完成了,启动项目。
http://localhost:8083/druid/index.html就可以看到我们的监控界面了。当然,和数据库交互的dao层就没有贴出来了。
最后,我们可以继续补充一下druid过滤器的其他配置,比如监控单个url调用的sql列表,配置principalSessionName这一类的
根据需要,把其中的xxx.user修改为你user信息保存在session中的sessionName。
注意:如果你session中保存的是非string类型的对象,需要重载toString方法。
到此这篇druid监控页面说明(druid 监控页面)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/63305.html