关于在 SpringBoot 中整合 Druid 的教程在上一篇文章【SpringBoot】五十五、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;}}
需要注意
去除广告之后的效果如下 如您在阅读中发现不足欢迎留言