七天一个世界,足不出户,带你领略世间沧海,带你阅读那些美好。
周1&工作日
一个能思想的人,才真是一个力量无边的人。 ——巴尔扎克
环境说明:
SpringBoot 2.3.2
MyBatisPlus 3.4.3
alibaba druid 1.2.6
POM(必须使用这个包搭配SpringBoot)
<properties> <!-- 2021-5-5 --> <alibaba.druid.version>1.2.6</alibaba.druid.version></properties><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${alibaba.druid.version}</version></dependency>
失效的配置
位置:properties.yml
spring: datasource: # 开启 druid 监控 druid: stat-view-servlet: url-pattern: /druid/* loginUsername: wdz loginPassword: wdz888888 web-stat-filter: exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" url-pattern: /*
高版本的Druid监控页面不支持以上配置方式了
成功的配置
创建Spring配置类:DruidConfig.class
/** * @description Druid配置文件 * @author XiuEr 13813641925@163.com * @date 2021-07-03 */@Configurationpublic class DruidConfig { /** * 初始化基本配置 * @return */ @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druidDataSource() { return new DruidDataSource(); } //因为Springboot内置了servlet容器,所以没有web.xml,替代方法就是将ServletRegistrationBean注册进去 //加入后台监控 @Bean //这里其实就相当于servlet的web.xml public ServletRegistrationBean statViewServlet() { ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*"); //后台需要有人登录,进行配置 //bean.addUrlMappings(); 这个可以添加映射,我们在构造里已经写了 //设置一些初始化参数 Map<String, String> initParas = new HashMap<String, String>(); initParas.put("loginUsername", "admin");//它这个账户密码是固定的 initParas.put("loginPassword", "123456"); // 访问控制 initParas.put("allow", "");//这个值为空或没有就允许所有人访问,ip白名单 //initParas.put("allow","localhost");//只允许本机访问,多个ip用逗号,隔开 //initParas.put("deny","");//ip黑名单,拒绝谁访问 deny和allow同时存在优先deny initParas.put("resetEnable", "false");//禁用HTML页面的Reset按钮 bean.setInitParameters(initParas); return bean; } //再配置一个过滤器,Servlet按上面的方式注册Filter也只能这样 @Bean public FilterRegistrationBean webStatFilter() { FilterRegistrationBean bean = new FilterRegistrationBean(); //可以设置也可以获取,设置一个阿里巴巴的过滤器 bean.setFilter(new WebStatFilter()); bean.addUrlPatterns("/*"); //可以过滤和排除哪些东西 Map<String, String> initParams = new HashMap<String, String>(); //把不需要监控的过滤掉,这些不进行统计 initParams.put("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); bean.setInitParameters(initParams); return bean; }}
配置成功后,启动App!
在浏览器中输入地址:http://项目ip:项目端口/druid ,即可跳转监控画面