Springboot配置Druid資料來源詳解

2021-10-11 21:17:52 字數 2773 閱讀 9728

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...