Springboot配置Druid資料來源

2021-10-09 20:29:18 字數 2218 閱讀 6613

****1.匯入druid依賴

com.alibaba

druid

1.1.24

2.在yml配置檔案中生命typespring-datasource-type: com.alibaba.druid.pool.druiddatasource我們在pom中匯入我們的druid資料來源的依賴之後,我們需要在yml配置檔案當中將我們的資料來源配置成druid資料來源,否則的話,springboot還是會使用預設的hikaricp,所有我們需要使用配置檔案將我們的資料來源配置成我們自己需要的。

3.druid資料來源相關配置

我們可以在配置檔案中將我們的資料來源配置一些需要的引數。

min-idle: 5

initial-size: 5

max-active: 20

# 配置獲取連線等待超時的時間

max-wait: 60000

# 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒

time-between-eviction-runs-millis: 60000

# 配置乙個連線在池中最小生存的時間,單位是毫秒

min-evictable-idle-time-millis: 300000

validation-query: select 1 from dual

test-while-idle: true

test-on-borrow: false

test-on-return: false

# 開啟pscache,並且指定每個連線上pscache的大小

pool-prepared-statements: true

# 配置監控統計攔截的filters,去掉後監控介面sql無法統計,'wall'用於防火牆

max-pool-prepared-statement-per-connection-size: 20

filters: stat,wall

use-global-data-source-stat: true

# 通過connectproperties屬性來開啟mergesql功能;慢sql記錄

connect-properties: druid.stat.mergesql=true;druid.stat.slowsqlmillis=5000

4.將我們的配置檔案與springboot繫結既然是我們自己配置的資料,那麼就需要將我們配置的東西新增到springboot當中,否則springboot就不會識別我們自己配置的資料引數。我們需要建立乙個config包來加入我們需要的核心配置類。

我們需要乙個@configuration的註解將我們的配置類註冊到springboot當中。

@configurationproperties(prefix = "spring.datasource")這個就是將我們的配置檔案匯入進來,讓springboot識別配置檔案當中的所有配置。

@bean想必大家肯定很熟悉了,將這個類註冊到bean中去,否則不會有效。

5.durid後台監控

我們需要配置乙個durid中的乙個servletregistrationbean方法,這個方法相當於servletcontext中的註冊功能一樣。我們在這個方法中可以實現druid的後台控制。

在此之外我們需要配置hashmap來傳參,並且必須是型別的。還有最重要的一點就是,在druid中我們的key是固定的,必須寫成loginusername,loginusername,我們也可以配置誰可以訪問,配置禁止訪問等一些約束條件。

6.druid過濾器

我們還可以配置相關的過濾器

@bean

public filterregistrationbean a()```

效能之王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...