如何关闭SpringBoot集成Druid监控的底部广告?
- 内容介绍
- 文章标签
- 相关推荐
本文共计483个文字,预计阅读时间需要2分钟。
关于在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;}}
需要注意
去除广告之后的效果如下 如您在阅读中发现不足欢迎留言
本文共计483个文字,预计阅读时间需要2分钟。
关于在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;}}
需要注意
去除广告之后的效果如下 如您在阅读中发现不足欢迎留言

