成都网站建设设计

将想法与焦点和您一起共享

用实例解析SpringBoot如何配置Druid数据监控

这篇文章主要用实例解析SpringBoot如何配置Druid数据监控,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联公司2013年成立,先为商都等服务建站,商都等地企业,进行企业商务咨询服务。为商都企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

druid,一个为监控而生的数据库连接池,提供可视化界面来查看sql执行情况。

1、pom文件引入druid数据源


  
   com.alibaba
   druid
   1.1.8
 

2、新建一个DrruidConfig配置文件

package com.example.mybatisplus.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * druid数据池配置
 */
@Configuration
public class DruidConfig {

  @ConfigurationProperties(prefix = "spring.datasource")
  @Bean
  public DataSource druid(){
    return new DruidDataSource();
  }
  //配置Druid的监控
  //1、配置一个管理后台的Servlet
  @Bean
  public ServletRegistrationBean statViewServlet(){
    ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
    Map initParams = new HashMap<>();
    //配置登录的账号密码
    initParams.put("loginUsername","admin");
    initParams.put("loginPassword","123456");
//    initParams.put("deny","localhost"); //拒绝谁登录
    //是否能够重置数据.
//    bean.addInitParameter("resetEnable","false");
    bean.setInitParameters(initParams);
    return bean;
  }

  //2、配置一个web监控的filter
  @Bean
  public FilterRegistrationBean webStatFilter(){
    FilterRegistrationBean bean = new FilterRegistrationBean();
    bean.setFilter(new WebStatFilter());
    Map initParams = new HashMap<>();
    initParams.put("exclusions","*.html,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
    bean.setInitParameters(initParams);
    bean.setUrlPatterns(Arrays.asList("/*"));
    return bean;
  }
}

3、yml文件配置

spring:
 datasource:
  schema:
   - classpath:schema.sql
  initialization-mode: ALWAYS
  username: root
  password: root
  url: jdbc:MySQL://localhost:3306/jdbc?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
  driver-class-name: com.mysql.cj.jdbc.Driver
  #  type: com.alibaba.druid.pool.DruidDataSource
  initialSize: 5
  minIdle: 5
  maxActive: 20
  maxWait: 60000
  timeBetweenEvictionRunsMillis: 60000
  minEvictableIdleTimeMillis: 300000
  validationQuery: SELECT 1 FROM DUAL
  testWhileIdle: true
  testOnBorrow: false
  testOnReturn: false
  poolPreparedStatements: true
  #  配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
  filters: stat,wall
  maxPoolPreparedStatementPerConnectionSize: 20
  useGlobalDataSourceStat: true
  connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

看完上述内容,是不是对用实例解析SpringBoot如何配置Druid数据监控有进一步的了解,如果还想学习更多内容,欢迎关注创新互联行业资讯频道。


网页名称:用实例解析SpringBoot如何配置Druid数据监控
标题链接:http://chengdu.cdxwcx.cn/article/iigjdc.html