Spring Boot 集成 Druid 监控数据源
关注“Java后端技术全栈”**
回复“面试”获取全套大厂面试资料
Druid 介绍
Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成,该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。通常叫"德鲁伊的"
Druid 首先是一个数据库连接池,但它不仅仅是一个数据库连接池,还包含了一个 ProxyDriver,一系列内置的 JDBC 组件库,一个 SQL Parser。在 Java 的世界中 Druid 是监控做的最好的数据库连接池,在功能、性能、扩展性方面,也有不错的表现。
Druid 有何用?
替换其他 Java 连接池,Druid 提供了一个高效、功能强大、可扩展性好的数据库连接池。
可以监控数据库访问性能,Druid 内置提供了一个功能强大的 StatFilter 插件,能够详细统计 SQL 的执行性能,这对于线上分析数据库访问性能有很大帮助。
数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题,DruidDruiver 和 DruidDataSource 都支持 PasswordCallback。
SQL 执行日志,Druid 提供了不同的 LogFilter,能够支持 Common-Logging、Log4j 和 JdkLog,可以按需要选择相应的 LogFilter,监控应用的数据库访问情况。
扩展 JDBC,如果你要对 JDBC 层有编程的需求,可以通过 Druid 提供的 Filter 机制,很方便编写 JDBC 层的扩展插件。
Spring Boot快速集成Druid
阿里也未Druid提供了 Spring Boot Starter。官网这样解释:
Druid Spring Boot Starter 用于帮助你在 Spring Boot 项目中轻松集成 Druid 数据库连接池和监控。
Druid Spring Boot Starter 主要做了哪些事情呢?其实这个组件包很简单,主要提供了很多自动化的配置,按照 Spring Boot 的理念对很多内容进行了预配置,让我们在使用的时候更加的简单和方便。
添加依赖包
application.properties中添加druid的配置项
然后启动项目。
访问地址:http://localhost:8080/druid/webapp.html
如果把配置项中
去掉注释,再次启动。
访问地址:http://localhost:8080/druid/webapp.html
登录进去
首页会展示项目使用的 JDK 版本、数据库驱动、JVM 相关统计信息。根据上面的菜单可以看出 Druid 的功能非常强大,支持数据源、SQL 监控、SQL 防火墙、URI 监控等很多功能。
我们这里请求一下前面文
http://localhost:8080/mybatis
点击SQL监控
可以看到SQL的执行情况,还可以设置刷新SQL监控的时间。
这里的 SQL 监控会将项目中具体执行的 SQL 打印出来,展示此 SQL 执行了多少次、每次返回多少数据、执行的时间分布是什么。这些功能非常的实用,方便我们在实际生产中查找出慢 SQL,最后对 SQL 进行调优。
OK,今天就分享到此,是不是觉得Spring Boot集成Druid其实还是蛮简单的。
码字不易,望点 在看+分享,谢谢!
推荐阅读
版权声明: 本文为 InfoQ 作者【田维常】的原创文章。
原文链接:【http://xie.infoq.cn/article/001528e7da7f1413a21052238】。文章转载请联系作者。
评论