• 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 }

    三.效果图

  • 相关阅读:
    JS中实现跨域的方法总结
    stack overflow错误分析
    VC包含目录、附加依赖项、库目录及具体设置
    sqlite3使用简介
    虚拟机开机提示Operating System not found解决办法
    Qt环境搭建(Qt Creator)+Visual Studio
    QT自定义信号
    不同平台文件读写的操作
    CNN大战验证码
    RNN入门(一)识别MNIST数据集
  • 原文地址:https://www.cnblogs.com/wang-yaz/p/10026180.html
Copyright © 2020-2023  润新知