如何关闭SpringBoot集成Druid监控的底部广告?

2026-06-11 06:253阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计483个文字,预计阅读时间需要2分钟。

如何关闭SpringBoot集成Druid监控的底部广告?

关于在SpringBoot中整合Druid数据库连接池的教程,以下为简化后的内容:

在SpringBoot项目中整合Druid数据源,并配置默认监控页面。

如何关闭SpringBoot集成Druid监控的底部广告?

1. 添加Druid依赖

2.配置数据源属性

3.添加Druid监控页面配置

4.启用Druid监控页面

具体步骤如下:

- 在`pom.xml`中添加Druid依赖。- 在`application.properties`或`application.yml`中配置数据库连接信息。- 添加Druid监控页面配置。- 启用监控页面访问。

关于在SpringBoot中整合Druid的教程在上一篇文章五十五、SpringBoot整合Druid数据库连接池默认Druid的监控页面

关于在 SpringBoot 中整合 Druid 的教程在上一篇文章五十五、SpringBoot整合Druid数据库连接池

默认 Druid 的监控页面底部会有一块儿广告位如图 我们如果不想显示这一块的话可以对其进行过滤掉具体配置如下

import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;import com.alibaba.druid.util.Utils;import org.springframework.boot.autoconfigure.AutoConfigureAfter;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import javax.servlet.*;import java.io.IOException;/*** 去除druid底部的广告配置类*/ConfigurationConditionalOnWebApplicationAutoConfigureAfter(DruidDataSourceAutoConfigure.class)ConditionalOnProperty(name "spring.datasource.druid.stat-view-servlet.enabled", havingValue "true", matchIfMissing true)public class DruidConfigurer {/*** 除去druid页面底部的广告** param properties* return*/SuppressWarnings({"rawtypes", "unchecked"})Beanpublic FilterRegistrationBean removeDruidAdFilterRegistrationBean(DruidStatProperties properties) {// 获取web监控页面的参数DruidStatProperties.StatViewServlet config properties.getStatViewServlet();// 提取common.js的配置路径String pattern config.getUrlPattern() ! null ? config.getUrlPattern() : "/druid/*";String commonJsPattern pattern.replaceAll("\\*", "js/common.js");final String filePath "support/http/resources/js/common.js";// 创建filter进行过滤Filter filter new Filter() {Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {chain.doFilter(request, response);// 重置缓冲区响应头不会被重置response.resetBuffer();// 获取common.jsString text Utils.readFromResource(filePath);// 正则替换banner, 除去底部的广告信息text text.replaceAll("", "");text text.replaceAll("powered.*?shrek.wang", "");response.getWriter().write(text);}Overridepublic void destroy() {}};FilterRegistrationBean registrationBean new FilterRegistrationBean();registrationBean.setFilter(filter);registrationBean.addUrlPatterns(commonJsPattern);return registrationBean;}}

需要注意

  • ConditionalOnWebApplication当Spring为web服务时才使注解的类生效
  • AutoConfigureAfter在加载配置的类之后再加载当前类
  • ConditionalOnProperty 注解可以根据具体的值来控制该配置是否生效
  • 去除广告之后的效果如下 如您在阅读中发现不足欢迎留言

    本文共计483个文字,预计阅读时间需要2分钟。

    如何关闭SpringBoot集成Druid监控的底部广告?

    关于在SpringBoot中整合Druid数据库连接池的教程,以下为简化后的内容:

    在SpringBoot项目中整合Druid数据源,并配置默认监控页面。

    如何关闭SpringBoot集成Druid监控的底部广告?

    1. 添加Druid依赖

    2.配置数据源属性

    3.添加Druid监控页面配置

    4.启用Druid监控页面

    具体步骤如下:

    - 在`pom.xml`中添加Druid依赖。- 在`application.properties`或`application.yml`中配置数据库连接信息。- 添加Druid监控页面配置。- 启用监控页面访问。

    关于在SpringBoot中整合Druid的教程在上一篇文章五十五、SpringBoot整合Druid数据库连接池默认Druid的监控页面

    关于在 SpringBoot 中整合 Druid 的教程在上一篇文章五十五、SpringBoot整合Druid数据库连接池

    默认 Druid 的监控页面底部会有一块儿广告位如图 我们如果不想显示这一块的话可以对其进行过滤掉具体配置如下

    import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;import com.alibaba.druid.util.Utils;import org.springframework.boot.autoconfigure.AutoConfigureAfter;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import javax.servlet.*;import java.io.IOException;/*** 去除druid底部的广告配置类*/ConfigurationConditionalOnWebApplicationAutoConfigureAfter(DruidDataSourceAutoConfigure.class)ConditionalOnProperty(name "spring.datasource.druid.stat-view-servlet.enabled", havingValue "true", matchIfMissing true)public class DruidConfigurer {/*** 除去druid页面底部的广告** param properties* return*/SuppressWarnings({"rawtypes", "unchecked"})Beanpublic FilterRegistrationBean removeDruidAdFilterRegistrationBean(DruidStatProperties properties) {// 获取web监控页面的参数DruidStatProperties.StatViewServlet config properties.getStatViewServlet();// 提取common.js的配置路径String pattern config.getUrlPattern() ! null ? config.getUrlPattern() : "/druid/*";String commonJsPattern pattern.replaceAll("\\*", "js/common.js");final String filePath "support/http/resources/js/common.js";// 创建filter进行过滤Filter filter new Filter() {Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {chain.doFilter(request, response);// 重置缓冲区响应头不会被重置response.resetBuffer();// 获取common.jsString text Utils.readFromResource(filePath);// 正则替换banner, 除去底部的广告信息text text.replaceAll("", "");text text.replaceAll("powered.*?shrek.wang", "");response.getWriter().write(text);}Overridepublic void destroy() {}};FilterRegistrationBean registrationBean new FilterRegistrationBean();registrationBean.setFilter(filter);registrationBean.addUrlPatterns(commonJsPattern);return registrationBean;}}

    需要注意

  • ConditionalOnWebApplication当Spring为web服务时才使注解的类生效
  • AutoConfigureAfter在加载配置的类之后再加载当前类
  • ConditionalOnProperty 注解可以根据具体的值来控制该配置是否生效
  • 去除广告之后的效果如下 如您在阅读中发现不足欢迎留言