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後臺監控功能服務的。
檢視結果