Spring Boot 2.2.2.RELEASE
添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
application.yml
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.4.23:3306/test?characterEncoding=utf8&useSSL=false
username: root
password: root
# 使用阿里的Druid连接池
type: com.alibaba.druid.pool.DruidDataSource
# druid配置
druid:
# 初始化大小
initial-size: 5
# 最小
min-idle: 10
# 最大
max-active: 30
# 配置获取连接等待超时的时间
max-wait: 6000
1. 启用监控
在spring.datasource.druid下添加
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计
filters: stat
# 启用StatFilter
web-stat-filter:
enabled: true
# 启用StatViewServlet(监控页面)
stat-view-servlet:
enabled: true
1.2 使用javaconfig
使用javaconfig添加监控配置
@Configuration
public class DruidConfig {
@Bean
public FilterRegistrationBean druidStatFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
// 过滤规则
filterRegistrationBean.addUrlPatterns("/*");
// 不需要忽略的格式信息
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
@Bean
public ServletRegistrationBean DruidStatViewServlet() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
// 白名单
servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
// 黑名单 (存在共同时,deny优先于allow)
servletRegistrationBean.addInitParameter("deny", "192.168.1.12");
// 禁用HTML页面上的“Reset All”功能
servletRegistrationBean.addInitParameter("resetEnable", "false");
// 账号密码
servletRegistrationBean.addInitParameter("loginUsername", "admin");
servletRegistrationBean.addInitParameter("loginPassword", "admin");
return servletRegistrationBean;
}
}
1.2 使用配置
使用配置添加监控配置
web-stat-filter:
enabled: true
# 过滤规则
url-pattern: "/*"
# 不需要忽略的格式信息.
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
stat-view-servlet:
enabled: true
url-pattern: "/druid/*"
# 白名单
allow: 127.0.0.1
# 黑名单 (存在共同时,deny优先于allow)
deny: 192.168.1.12
# 禁用HTML页面上的“Reset All”功能
reset-enable: false
# 账号密码
login-username: admin
login-password: admin
2. 坑
- 在配置中需要添加filters: stat才能在SQL监控中查看到SQL
参考:
Druid Spring Boot Starter
Druid数据库连接池就这么简单
Druid github wiki 常见问题