[springboot]::集成druid

1,首先在pom.xml引入druid的
使用版本号

<!--集成druid-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.4</version>
		</dependency>

2.在application.properties 增加druid的配置

spring.datasource.url=jdbc:mysql://localhost:3306/mytime?characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
### 数据源类别
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
### 初始化大小,最小,最大
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
### 配置获取连接等待超时的时间,单位是毫秒
spring.datasource.tomcat.time-between-eviction-runs-millis=6000
### 配置一个链接在池中最小生存的时间,单位是毫秒
spring.datasource.min-evictable-idle-time-millis=300000
spring.datasource.validationQuery=select 1 from DUAL
spring.datasourc.testWhileIdle=true
spring.datasourc..testOnBorrow=false
spring.datasourc.testOnReturn=false
### 打开PSCache,并且制定每个连接上PSCache的大小
spring.datasourc.poolPreparedStatement=true
spring.datasourc.maxPoolPreparedStatementPerConnectionSize=20
### 配置监控统计拦截的filters,去掉后监控界面的sql无法统计,"wall"用于防火墙
spring.datasourc.filters=stat,wall,log4j
### connectProperties属性打开mergeSql
spring.datasourc.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
### 合并多个DruidDataSource的监控数据
spring.datasourc.useGlobalDataSourceStat=true

书上这么多配置,真不好记,全打上去了…
3.开启监控
新建一个包config,创建名为DruidConfig的类

package com.example.demo.config;

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

@Configuration
public class DruIdConfig {
    @Bean
    public ServletRegistrationBean druidStatViewServle(){
        //ServletRegistrationBean提供类进行注册
        //@Bean和spring中的配置比较
        //<bean id="@bean 的方法名" class = "方法返回值的类型"></bean>
        ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
        //添加初始化参数 initParams
        //白名单
        servletRegistrationBean.addInitParameter("allow","127.0.0.1");
        //IP 黑名单同时存在时,deny由于allow
        //如果满足deny,就提示sorry,you are not permitted to view this page.servletRegistrationBean.addInitParameter("deny","127.0.0.1");
        //登录查看信息的账号 和密码
        servletRegistrationBean.addInitParameter("loginUsername","admin");
        servletRegistrationBean.addInitParameter("loginPassword","admin");
        //是否能够重置数据
        servletRegistrationBean.addInitParameter("resetEnable","false");
        return  servletRegistrationBean;
    }
    @Bean
    public FilterRegistrationBean druidStatFilter(){
        FilterRegistrationBean filterRegistrationBean= new FilterRegistrationBean( new WebStatFilter());
        //添加过滤规则
        filterRegistrationBean.addUrlPatterns("/*");
        //添加需要忽略的格式信息
        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/*");//
        return filterRegistrationBean;
    }
}

作者书上是这样的

filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");//加上druid之后浏览器会报重定向次数过多的问题,截图如下

在这里插入图片描述
正确的打开方式如下:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Lining_s/article/details/84110640