Spring boot使用druid 数据源 的监控页

2023年1月24日09:57:51

第一步 引入依赖

<!--        引入 druid 数据源-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.23</version>
        </dependency>

首先开启 druid 的配置文件

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

/**
 * @User: Json
 * @Date: 2022/9/6
 **/
@Configuration
public class DruidConfig {

    // 自己设置一个 数据源
    // 当容器中 没有 自定义数据源  会导入 HikariPool 数据源
    @ConfigurationProperties("spring.datasource")
    // 写上这个注解 表示  这个 Druid 数据源的 配置参数 从配置文件中里面 spring.datasource 获取
    @Bean
    public DataSource dataSource() throws SQLException {
        DruidDataSource druidDataSource = new DruidDataSource();
        // 数据源配置信息 配置在这也不合适  一般会写在 配置文件中
//        druidDataSource.setUsername();
//        druidDataSource.setPassword();
//        等等
        druidDataSource.setFilters("stat,wall"); // stat 开启sql监控功能 // wall 开启sql防火墙
        //像这种 写法 都可以写在配置文件中 
        return  druidDataSource;
    }
    /**
     * 配置 Druid 的监控页
     * */
    @Bean
    public ServletRegistrationBean servletRegistrationBean(){

        StatViewServlet statViewServlet = new StatViewServlet();
        ServletRegistrationBean<StatViewServlet> statViewServletServletRegistrationBean = new ServletRegistrationBean<>(statViewServlet, "/druid/*");
        statViewServletServletRegistrationBean.addInitParameter("loginUsername","admin");  //给监控页设置 登录密码
        statViewServletServletRegistrationBean.addInitParameter("loginPassword","123456");
        return statViewServletServletRegistrationBean;
    }

    /**
     *  WebStatFilter 用于采集 web -jdbc 关联监控的数据
     *
     * **/
    @Bean
    public FilterRegistrationBean webStatFilter(){
        WebStatFilter webStatFilter = new WebStatFilter();
        FilterRegistrationBean<WebStatFilter> webStatFilterFilterRegistrationBean =
                new FilterRegistrationBean<WebStatFilter>(webStatFilter);
        //采集哪个路径
        webStatFilterFilterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
        //排除那些路径 不采集
        //exclusions 你要排除 路径的 关键字
        webStatFilterFilterRegistrationBean.addInitParameter("exclusions","*.js,/druid/*");
        return webStatFilterFilterRegistrationBean;
    }
}

然后访问 自己的 的域名
http://127.0.0.1:8080/druid/

测试结果
Spring boot使用druid 数据源 的监控页

  • 作者:Json____
  • 原文链接:https://jsonll.blog.csdn.net/article/details/126757222
    更新时间:2023年1月24日09:57:51 ,共 2274 字。