SpringBoot入門之集成Druid的方法示例
Druid:為監(jiān)控而生的數(shù)據(jù)庫連接池.這篇先了解下它的簡單使用,下篇嘗試用它做多數(shù)據(jù)源配置。
主要參考:https://github.com/alibaba/druid/wiki/
常見問題https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
一、引入依賴
這里看其他博客都是引用的Druid,由于是使用springboot集成,這里參考druid官方文檔,用的是druid-spring-boot-starter。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
二、設(shè)置屬性
這里用的demo還是在上一博客基礎(chǔ)上進(jìn)行的修改,所以已經(jīng)配置上了數(shù)據(jù)庫連接和mybatis。
spring.mvc.view.prefix=/view/ spring.mvc.view.suffix=.jsp mybatis.type-aliases-package=com.example.model mybatis.config-location=classpath:mybatis/mybatis-config.xml mybatis.mapper-locations=classpath:mybatis/mapper/*.xml #spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver #spring.datasource.url = jdbc:mysql://localhost:3306/mybatis spring.datasource.url =jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username = root spring.datasource.password = 123456 #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.max-active=20 spring.datasource.druid.initial-size=1 spring.datasource.druid.max-wait=60000 spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 spring.datasource.druid.min-idle=1 spring.datasource.druid.time-between-eviction-runs-millis=60000 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=select 1 from dual spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=true spring.datasource.druid.test-on-return=true
這里配置與其他有的博客不太一樣,spring.datasource后面多了個druid,屬性名稱也有一些變化。
三、配置連接池的監(jiān)控和慢sql處理
這里只需要在啟動類同級目錄下增加一個class類配置即可。這里創(chuàng)建了DruidConfiguration類,這里配置了WebStatFilter配置和StatViewServlet配置.
package com.example.demo;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.*;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
@Configuration
public class DruidConfiguration {
@Bean
public ServletRegistrationBean statViewServlet(){
//創(chuàng)建servlet注冊實體
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
//設(shè)置ip白名單
servletRegistrationBean.addInitParameter("allow","127.0.0.1");
//設(shè)置ip黑名單,如果allow與deny共同存在時,deny優(yōu)先于allow
servletRegistrationBean.addInitParameter("deny","192.168.0.19");
//設(shè)置控制臺管理用戶
servletRegistrationBean.addInitParameter("loginUsername","druid");
servletRegistrationBean.addInitParameter("loginPassword","123456");
//是否可以重置數(shù)據(jù)
servletRegistrationBean.addInitParameter("resetEnable","false");
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean statFilter(){
//創(chuàng)建過濾器
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
//設(shè)置過濾器過濾路徑
filterRegistrationBean.addUrlPatterns("/*");
//忽略過濾的形式
filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
}
四、測試
這里先啟動應(yīng)用,然后在瀏覽器輸入http://127.0.0.1:8080/druid/index.html,就會顯示登錄頁面,輸入上面類配置的密碼即可登錄.

然后輸入上一博客顯示用戶列表的url:http://localhost:8080/user/alluser.do,再看到druid頁面,查看SQL監(jiān)控就會有剛才執(zhí)行的sql信息,URL監(jiān)控和Session監(jiān)控也有對應(yīng)的信息,由于這沒配置Spring監(jiān)控所以Spring監(jiān)控的信息,對于Spring監(jiān)控會在以后補(bǔ)充,下一篇準(zhǔn)備是使用druid配置多數(shù)據(jù)源。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis實現(xiàn)傳入多個參數(shù)的四種方法詳細(xì)講解
這篇文章主要介紹了Mybatis實現(xiàn)傳入多個參數(shù)的四種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01
IDEA使用Gradle構(gòu)建SpringBoot項目工程的詳細(xì)教程
這篇文章主要介紹了IDEA使用Gradle構(gòu)建SpringBoot項目工程的教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08

