1、新增druid依賴
>
>
com.alibabagroupid
>
>
druidartifactid
>
>
1.2.3version
>
dependency
>
2、配置druid
spring
:datasource
:username
: root
password
: root
## 資料庫驅動類
driver-class-name
: com.mysql.jdbc.driver
url: jdbc:mysql://localhost:3306/security?servertimezone=utc
## 切換自定義資料來源
type
: com.alibaba.druid.pool.druiddatasource
## 資料來源其他配置
#初始化時建立物理連線的個數。初始化發生在顯示呼叫init方法,或者第一次getconnection時
initialsize:5
# 已經不再使用,配置了也沒效果
minidle:5
# 最大連線池數量
maxactive:20
# 獲取連線時最大等待時間,單位毫秒。配置了maxwait之後,預設啟用公平鎖,併發效率會有所下降,如果需要可以通過配置useunfairlock屬性為true使用非公平鎖。
maxwait
:60000
# 有兩個含義:
# 1) destroy執行緒會檢測連線的間隔時間
# 2) testwhileidle的判斷依據,詳細看testwhileidle屬性的說明
timebetweenevictionrunsmillis
:60000
# 連線保持空閒而不被驅逐的最長時間
minevictableidletimemillis
:300000
# 用來檢測連線是否有效的sql,要求是乙個查詢語句。如果validationquery為null,testonborrow、testonreturn、testwhileidle都不會其作用。
validationquery
: select 1 from dual
# 建議配置為true,不影響效能,並且保證安全性。申請連線的時候檢測,如果空閒時間大於timebetweenevictionrunsmillis,執行validationquery檢測連線是否有效。
testwhileidle
:true
# 申請連線時執行validationquery檢測連線是否有效,做了這個配置會降低效能。
testonborrow
:false
# 歸還連線時執行validationquery檢測連線是否有效,做了這個配置會降低效能
testonreturn
:false
# 是否快取preparedstatement,也就是pscache。pscache對支援游標的資料庫效能提公升巨大,比如說oracle。在mysql下建議關閉。
poolpreparedstatements
:true
## 配置監控統計攔截的filters,去掉後監控介面sql無法統計,'wall'用於防火牆
# 屬性型別是字串,通過別名的方式配置擴充套件外掛程式,常用的外掛程式有:
# 監控統計用的filter:stat,日誌用的filter:log4j,防禦sql注入的filter:wall
filters
: stat,wall,log4j
# maxpoolpreparedstatementperconnectionsize:20
# useglobaldatasourcestat
:true
# connectionproperties
: druid.stat.mergesql=true;druid.stat.slowsqlmillis=500
3、測試druid資料來源是否切換成功
@springboottest
class
}
4、druid資料來源切換成功
@configuration
public
class
druidconfig
// 配置druid監控
// 1、配置乙個管理後台的 statviewservlet
// 以下屬性可以在com.alibaba.druid.support.http.statviewservlet或
// com.alibaba.druid.support.http.resourceservlet中找到
@bean
public servletregistrationbean statviewservlet()
//2、配置乙個web監控的 webstatfilter
@bean
public filterregistrationbean webstatfilter()
}
效能之王HiKariCP和阿里爸爸Druid比較
我們所熟知的c3p0,dbcp,druid,hikaricp為我們所常用的資料庫連線池,其中c3p0已經很久沒有更新了。dbcp更新速度很慢,基本處於不活躍狀態,而druid和hikaricp處於活躍狀態的更新中,這就是我們說的二代產品了。hikaricp 優化 和 減少 例如hikaricp的st...
SpringBoot常用配置
前言 springboot整合了主流的第三方框架,但是需要使用springboot那一套配置方式。但是我這裡只列舉了非常非常常用的,可以看已發的幾篇部落格,慢慢會補充。當然官方文件裡也有相應的配置,可惜沒有注釋。spring.resources.cache period 設定資源的快取時效,以秒為單...
Spring boot自動配置
1 從原始碼角度看spring boot 自動配置 這個方法呼叫的是 initialize sources suppresswarnings private void initialize object sources this.webenvironment deducewebenvironment...