1. 程式人生 > 其它 >18-SpringBoot整合Druid

18-SpringBoot整合Druid

SpringBoot整合Druid資料來源

1、Druid簡介

Java程式很大一部分需要操作資料庫,為了提高操作資料庫的效能,就不得不使用資料庫連線池。

Druid是阿里巴巴開源平臺上的一個數據庫連線池的實現,結合了C3P0、DBCP等DB池的優點,同時加入了日誌監控。

Druid能很好的監控DB池連線和SQL的執行情況,是針對監控而生的連線池。

SpringBoot2.0以上預設使用Hikari資料來源,而Hikari和Druid都是當前JAVAweb上最優秀的資料來源。

com.alibaba.druid.pool.DruidDataSource 基本配置引數如下:

2、在f-springboot-jdbc這個模組上進行整合Druid

1、我們在maven repository官網中查詢Druid,找到最新版,複製依賴座標新增到pom檔案中

2、我們在配置檔案中指定使用的資料來源

3、然後我們測試一下拿到的資料來源

4、Druid資料來源還可以有許多自己的配置(我們前面介紹中圖中的一些屬性),也是在配置檔案中配置的。

5、匯入log4j的依賴

6、我們建立配置類來自定義一些配置,自己為DruidDataSource繫結全域性配置檔案中的引數,然後將這個DruidDataSource新增到容器,就不再使用springboot自動生成的DruidDataSource了。

7、啟動專案,訪問http://localhost:8080/druid/index.html

啟動專案時出現如下錯誤

原因是沒有配置log4j,解決方式如下:

在resources目錄下建立一個log4j.properties檔案,內容如下,然後重啟專案

log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

訪問頁面登入後進入如下

我們來訪問一個查詢到請求:

然後檢視一下SQL監控,如下

因為springboot內建了servlet容器,沒有web.xml,所以我們在配置類中進行配置作為替代web.xml的方法。

8、我們配置過濾器filter,就像我們之前在web.xml配置過濾器一樣的功能。當然這個過濾器是為Druid後臺監控功能服務的。

檢視結果