1. 程式人生 > >十、SpringBoot整合Druid資料來源

十、SpringBoot整合Druid資料來源

1、新增pom依賴

<!-- druid -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid-spring-boot-starter</artifactId>
  <version>1.1.10</version>
</dependency>

2、資料來源配置

spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.url
=jdbc:mysql://localhost:3306/zhuang-blogger?useUnicode=true&characterEncoding=utf-8 spring.datasource.druid.username=root spring.datasource.druid.password=root # Druid資料庫連線池和監控 # 初始化時建立物理連線的個數 spring.datasource.druid.initial-size=5 # 最大連線池數量 spring.datasource.druid.max-active=30 # 最小連線池數量 spring.datasource.druid.min
-idle=5 # 獲取連線時最大等待時間,單位毫秒 spring.datasource.druid.max-wait=60000 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 spring.datasource.druid.time-between-eviction-runs-millis=60000 # 連線保持空閒而不被驅逐的最小時間 spring.datasource.druid.min-evictable-idle-time-millis=300000 # 用來檢測連線是否有效的sql,要求是一個查詢語句 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL # 申請連線的時候檢測,如果空閒時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測連線是否有效。 spring.datasource.druid.test
-while-idle=true # 申請連線時執行validationQuery檢測連線是否有效 spring.datasource.druid.test-on-borrow=false # 歸還連線時執行validationQuery檢測連線是否有效 spring.datasource.druid.test-on-return=false # 是否快取preparedStatement,也就是PSCache。PSCache對支援遊標的資料庫效能提升巨大,比如說oracle。在mysql下建議關閉。 spring.datasource.druid.pool-prepared-statements=true # 要啟用PSCache,必須配置大於0,當大於0時,poolPreparedStatements自動觸發修改為true。 spring.datasource.druid.max-pool-prepared-statement-per-connection-size=50 # 配置監控統計攔截的filters,去掉後監控介面sql無法統計 spring.datasource.druid.filters=stat,wall # 通過connectProperties屬性來開啟mergeSql功能;慢SQL記錄 spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 # 合併多個DruidDataSource的監控資料 spring.datasource.druid.use-global-data-source-stat=true

3、檢視監控

專案啟動後,瀏覽器位址列輸入

http://localhost:8080/druid

即可檢視資料來源相關的監控資訊。

4、配置密碼

瀏覽器輸入http://localhost:8080/druid直接就能看到druid控制檯介面,在這裡面可以看到很多專案資訊,如果任憑使用者隨意訪問,非常危險。我們可以通過配置,設定只有通過登入認證才可以訪問。

# druid連線池監控
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin123
# 排除一些靜態資源,以提高效率
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*

只需要配置使用者名稱和密碼,重啟伺服器後再次訪問就需要登入才能訪問。