前言
Druid是阿里产物,数据库连接池的新秀。最近开始了解了一下这个产品,把我自己的一些经验分享给大家。我接触Druid不久,各方面的理解可能不太到位,望请海涵。
不同于其他文章,在这篇文章里面我们采用纯yml配置文件的方式配置Druid,而不是java类。实现基本的一些监控功能,例如SQL监控、URL监控等等。
在文章中使用到的配置我都会给出阿里的参考文档,避免知其然不知其所以然。当然,我没搞明白的,或者找不到官方文档的配置我就不写了,使用默认配置。
搭建项目环境
我们的项目是基于spring boot 2.x,数据库使用MySQL,这里贴一下pom文件
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
别忘了刷新一下pom
现在贴一下配置文件,大部分我采用了Druid的默认配置。因为使用的是spring boot的starter,所以很多配置以yml或者properties的形式呈现,大家对照我给出的文档中xml的配置搞明白各个配置项是啥意思就行了。
spring:
datasource:
druid:
url: jdbc:mysql:///druid_demo?useSSL=false&serverTimezone=Hongkong&characterEncoding=UTF-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
# filter的配置
# 配置1
filters: stat,wall
# 配置2
stat-view-servlet:
enabled: true
login-username: root
login-password: 123456
url-pattern: /druid/*
allow: 127.0.0.1
# 配置3
web-stat-filter:
enabled: true
url-pattern: /*
上面几行很简单,就是配置一下MySQL连接的参数。
现在我贴一些官方文档辅助理解一下我注释标注的地方。
通过这个官方文档我们可以知道,上面配置中注释的配置1
的作用就是以默认配置启用stat,wall这两个filter
通过这个官方文档我们可以知道如何配置StatViewServlet
,这个Servlet是用来显示监控信息的。
通过这个官方文档我可以知道如何配置WebStatFilter
,这个Servlet采集web-jdbc关联监控的数据。
到这里我们项目的配置文件就清楚了,接下来写一个接口执行一条SQL(总得有东西监控吧),这个接口我就不贴了,大家自己发挥,很简单。
演示
启动项目
因为上面我配置文件中注释标注配置2
的地方配置的是/druid/*
,所以我们访问监控数据页面的地址就是http://localhost:8080/druid/login.html
,至于为啥是这个在我贴出的官方文档里有写到。
在这里需要填写配置文件中配置的用户名和密码,我这里是
root
和123456
,输入之后登录到这里功能就正常了,大家自己去感受一下吧。
网友评论