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

本文介绍了如何在Spring Boot项目中配置Druid数据源,并启用SQL监控与WebStatFilter,以便于数据库性能管理和实时查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步 引入依赖

<!--        引入 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/

测试结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Json____

您的鼓励是我创作的动力~

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

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

打赏作者

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

抵扣说明:

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

余额充值