[springboot]::整合druid
阿新 • • 發佈:2018-12-25
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之後瀏覽器會報重定向次數過多的問題,截圖如下
正確的開啟方式如下: