springboot 开启druid监控器(configuration方式)

1、druid官方github地址

https://github.com/alibaba/druid

整合第三方技术的两种方式

  • 自定义
  • 找starter

一.pom.xml导入依赖

<!--       jdbc-->
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-jdbc</artifactId>
      </dependency>
<!--       mysql驱动 默认8.0-->
      <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
      </dependency>
<!--      druid连接池-->
      <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
      <dependency>
                <groupId>com.alibaba</groupId>
               <artifactId>druid</artifactId>
              <version>1.2.6</version>-->
     </dependency>

二.创建configuration配置类

1.StatViewServlet

StatViewServlet的用途包括:

  • 提供监控信息展示的html页面
  • 提供监控信息的JSON API

2.StatFilter

用于统计监控信息;如SQL监控、URI监控

系统中所有filter:

别名

Filter类名

default

com.alibaba.druid.filter.stat.StatFilter

stat

com.alibaba.druid.filter.stat.StatFilter

mergeStat

com.alibaba.druid.filter.stat.MergeStatFilter

encoding

com.alibaba.druid.filter.encoding.EncodingConvertFilter

log4j

com.alibaba.druid.filter.logging.Log4jFilter

log4j2

com.alibaba.druid.filter.logging.Log4j2Filter

slf4j

com.alibaba.druid.filter.logging.Slf4jLogFilter

commonlogging

com.alibaba.druid.filter.logging.CommonsLogFilter

package com.example.conf;

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.sql.SQLException;
import java.util.Arrays;

/**
 * @author 谭铖
 * @date 2021/8/5 16:25
 * Druid连接池配置方法(推荐直接注入的state)
 */
@Configuration //配置类
public class DruidConfiguration {
//    因为源码里面没有写datasource就会自己创建一个 HikariDataSource
    @Bean
    @ConfigurationProperties("spring.datasource")
    public DataSource DataSource() throws SQLException {
        DruidDataSource druidDataSource = new DruidDataSource();
//        开启监控 stat;
//        wall开启防火墙
        druidDataSource.setFilters("stat,wall");
        return druidDataSource;
    }

    /**
     * 开启Druid控制器 (使用原生servlet注入)
     * @return
     */
    @Bean
    public ServletRegistrationBean StatViewServlet(){
        StatViewServlet statViewServlet = new StatViewServlet();
//        绑定设置控制器路径
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(statViewServlet, "/druid/*");
//       设置账号密码
        servletRegistrationBean.addInitParameter("loginUsername","admin");
        servletRegistrationBean.addInitParameter("loginPassword","admin");
        return servletRegistrationBean;
    }

    /**
     * 开启Web关联监控配置
     * @return
     */
    @Bean
    public FilterRegistrationBean WebStatFilter(){
        WebStatFilter webStatFilter = new WebStatFilter();
//        绑定
        FilterRegistrationBean<WebStatFilter> webStatFilterFilterRegistrationBean = new FilterRegistrationBean<>(webStatFilter);
//        过滤路径
        webStatFilterFilterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
//        不过滤的路径
        webStatFilterFilterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return webStatFilterFilterRegistrationBean;
    }
}


然后运行springboot输入http://localhost:8080/druid就可以进入控制器输入账号密码就可以了

 登录里面就是这样的啦

可以查看多个 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水果不是橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值