spring boot配置druid数据源和监控配置

直接上代码:

一.pom.xml中添加依赖

 1 <dependency>
 2             <groupId>com.github.drtrang</groupId>
 3             <artifactId>druid-spring-boot2-starter</artifactId>
 4             <version>1.1.9</version>
 5         </dependency>
 6 
 7         <dependency>
 8             <groupId>com.alibaba</groupId>
 9             <artifactId>druid</artifactId>
10             <version>1.0.31</version>
11         </dependency>

二.配置数据源与监控

第一种方法通过properties配置

 #配置数据源
spring.datasource.url=jdbc:mysql://106.14.xx.xx:3306/test
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.username=123456
spring.datasource.druid.password=123456

1
# 下面为连接池的补充设置,应用到上面所有数据源中 2 # 初始化大小,最小,最大 3 spring.datasource.druid.initial-size=5 4 spring.datasource.druid.min-idle=5 5 spring.datasource.druid.max-active=20 6 # 配置获取连接等待超时的时间 7 spring.datasource.druid.max-wait=60000 8 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 9 spring.datasource.druid.time-between-eviction-runs-millis=60000 10 # 配置一个连接在池中最小生存的时间,单位是毫秒 11 spring.datasource.druid.min-evictable-idle-time-millis=300000 12 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL 13 spring.datasource.druid.test-while-idle=true 14 spring.datasource.druid.test-on-borrow=false 15 spring.datasource.druid.test-on-return=false 16 # 打开PSCache,并且指定每个连接上PSCache的大小 17 spring.datasource.druid.pool-prepared-statements=true 18 spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 19 # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 20 #spring.datasource.druid.filter-class-names=com.alibaba.druid.filter.stat.StatFilter 21 #spring.datasource.druid.filter-class-names=com.alibaba.druid.wall.WallFilter 22 #spring.datasource.druid.filter-class-names=com.alibaba.druid.filter.logging.Log4jFilter,com.alibaba.druid.filter.stat.StatFilter,com.alibaba.druid.wall.WallFilter 23 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 24 #spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 25 #spring.datasource.druid.connect-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 26 # 合并多个DruidDataSource的监控数据 27 #spring.datasource.useGlobalDataSourceStat=true 28 29 # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter 30 #是否开启web-jdbc监控 默认是false 31 spring.datasource.druid.web-stat.enabled=true 32 #是否开启session统计 默认false 33 spring.datasource.druid.web-stat.session-stat-enable=true 34 #设置session统计的最大值 默认是1000 35 spring.datasource.druid.web-stat.session-stat-max-count=1000 36 #是否开启单个监控url调用的sql列表 默认开启 37 spring.datasource.druid.web-stat.profile-enable=true 38 #过滤器url的映射规则 39 spring.datasource.druid.web-stat.url-patterns=/* 40 #过滤器url的排除规则 41 spring.datasource.druid.web-stat.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/* 42 43 # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置 44 #是否开启druid的数据统计界面 默认false 45 spring.datasource.druid.stat-view-servlet.enabled= true 46 #servlet映射规则,默认访问http:/**xxx/druid/ 47 spring.datasource.druid.stat-view-servlet.url-mappings=/druid/* 48 #是否允许清空统计数据 默认false 49 spring.datasource.druid.stat-view-servlet.reset-enable= false 50 #设置登录名 51 spring.datasource.druid.stat-view-servlet.login-username= admin 52 #设置密码 53 spring.datasource.druid.stat-view-servlet.login-password= admin 54 #设置白名单 55 spring.datasource.druid.stat-view-servlet.allow= 127.0.0.1 56 #访问黑名单 57 #spring.datasource.druid.stat-view-servlet.deny= 192.168.32.139

第二种方法通过java配置类设置:

DruidConfiguration该类与主程序xxApplication同级
 1 package com.ieou.capsule;
 2 
 3 import com.alibaba.druid.support.http.StatViewServlet;
 4 import com.alibaba.druid.support.http.WebStatFilter;
 5 import org.springframework.boot.web.servlet.FilterRegistrationBean;
 6 import org.springframework.boot.web.servlet.ServletRegistrationBean;
 7 import org.springframework.context.annotation.Bean;
 8 import org.springframework.context.annotation.Configuration;
 9 
10 @Configuration
11 public class DruidConfiguration {
12 
13     @Bean
14     public ServletRegistrationBean statViewServlet(){
15 
16         ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
17 
18         servletRegistrationBean.addInitParameter("loginUsername","admin");
19         servletRegistrationBean.addInitParameter("loginPassword","admin");
20         servletRegistrationBean.addInitParameter("resetEnable","false");
21         return servletRegistrationBean;
22     }
23 
24     @Bean
25     public FilterRegistrationBean statFilter(){
26 
27         FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
28 
29 
30         filterRegistrationBean.addUrlPatterns("/*");
31         filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");
32 
33         return filterRegistrationBean;
34     }
35 }

三.效果图

猜你喜欢

转载自www.cnblogs.com/wang-yaz/p/10026180.html