Spring Boot Druid 关闭监控

一、步骤概览

下面的表格展示了关闭 Spring Boot Druid 监控的步骤概览:

步骤 操作
步骤一 添加 Maven 依赖
步骤二 配置 application.properties 文件
步骤三 编写配置类关闭监控

接下来我们将详细介绍每个步骤需要做什么,并提供相应的代码和注释。

二、步骤详解

步骤一:添加 Maven 依赖

首先,在项目的 pom.xml 文件中添加 Spring Boot Druid 和 MySQL 的依赖。

<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Spring Boot Starter Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- Spring Boot Druid Starter -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.10</version>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>
步骤二:配置 application.properties 文件

接下来,在 application.properties 文件中进行配置。配置项如下:

# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# Druid 监控配置
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.stat-view-servlet.reset-enable=false
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
spring.datasource.druid.stat-view-servlet.deny=
spring.datasource.druid.stat-view-servlet.exclusions=*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*

在上述配置中,我们将 Druid 的监控页面配置为 /druid/*,并设置了登录用户名和密码。

步骤三:编写配置类关闭监控

最后,我们需要编写一个配置类来关闭 Druid 的监控功能。代码如下:

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

@Configuration
public class DruidConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.druid.stat-view-servlet")
    public DruidStatProperties druidStatProperties() {
        return new DruidStatProperties();
    }

    @Bean
    public FilterRegistrationBean<WebStatFilter> druidWebStatFilter(DruidStatProperties properties) {
        FilterRegistrationBean<WebStatFilter> registrationBean = new FilterRegistrationBean<>();
        WebStatFilter webStatFilter = new WebStatFilter();
        registrationBean.setFilter(webStatFilter);
        registrationBean.addUrlPatterns(properties.getUrlPattern());
        registrationBean.addInitParameter("exclusions", properties.getExclusions());
        return registrationBean;
    }
}

在上述代码中,我们通过 @ConfigurationProperties 注解读取配置文件中的 spring.datasource.druid.stat-view-servlet 配置项,并将其注入到 DruidStatProperties 对象中。然后,我们创建一个 FilterRegistrationBean 对象,将 WebStatFilter 过滤器设置为其过滤器,并添加对应的 URL 模式和排除模式。

三、序列图

下面是关闭 Spring Boot Druid 监控的序列图:

sequenceDiagram
    participant 小白
    participant 经验丰富的开发者

    小白->经验丰富的开发者: 如何关闭 Spring Boot Druid 监控?
    经验丰富的开发者->小白: 首先,你需要添加 Maven 依赖
    经验丰富的开发者->小白: 然后,在 application.properties 文件中进行配置