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。
1
2
3
4
5
|
<dependency> <groupid>com.alibaba</groupid> <artifactid>druid-spring-boot-starter</artifactid> <version> 1.1 . 10 </version> </dependency> |
二、設(shè)置屬性
這里用的demo還是在上一博客基礎(chǔ)上進行的修改,所以已經(jīng)配置上了數(shù)據(jù)庫連接和mybatis。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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配置.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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)控會在以后補充,下一篇準備是使用druid配置多數(shù)據(jù)源。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.cnblogs.com/5ishare/p/9332876.html