Springboot3學習——Druid使用及配置(五)

0、Druid

啓動項目,我們可以看到Springboot3自帶的數據庫連接池是HikariPool,HikariPool的主要優點是高性能,而我們即將集成的Druid數據庫連接池,主要有點則是豐富的擴展以及優秀的監控性能。從學習的角度來講,Druid相比較其他數據庫連接池而言,更加的全面。

SpringBoot Druid配置過程圖解_java_數據庫連接池

1、pom.xml添加druid-spring-boot-3-starter依賴

Springboot3集成Druid,我們使用druid-spring-boot-3-starter包。springboot2則使用的是druid-spring-boot-starter包
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-3-starter</artifactId>
    <version>1.2.23</version>
</dependency>


2、添加application.yml

我們新增application.yml,來配置druid相關配置,註釋掉application.properties(ymlx相比於properties,更加的簡潔和易讀),配置如下
spring:
  application:
    name: zyp
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource #設置數據源的類型
    driver-class-name: com.mysql.cj.jdbc.Driver #指定MySQL的JDBC驅動類名
    url: jdbc:mysql://localhost:3306/sugar #數據庫連接的URL地址
    username: root #數據庫登錄的用户名
    password: lyh2016 #數據庫登錄的密碼
    druid:
      initial-size: 5 #初始創建時建立的連接數
      min-idle: 5 #最小空閒連接數
      max-active: 20 #最大的連接池數量
      max-wait: 60000 #獲取連接的最大等待毫秒數
      time-between-eviction-runs-millis: 60000 #兩個連接空閒檢查之間的時間間隔
      min-evictable-idle-time-millis: 30000 #連接在池中最小生存時間後才允許被驅逐
      validation-query: select 'x' #檢查連接是否可用的 SQL 查詢
      test-while-idle: true #申請連接前檢測連接是否有效
      test-on-borrow: false #申請連接時進行連接有效性檢驗
      test-on-return: false #歸還連接時進行連接有效性檢驗
      pool-prepared-statements: false #是否開啓 PreparedStatement 的緩存
      filters: stat,wall,slf4j #配置擴展插件,常用的有 stat(監控統計)、wall(SQL防火牆)、log4j(日誌)等
      max-pool-prepared-statement-per-connection-size: -1 #每個連接上PSCache最大語句數
      use-global-data-source-stat: true #是否開啓合併Stat
      connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #連接屬性,用於合併 SQL 和設置慢 SQL 的閾值
      web-stat-filter:
        enabled: true #是否啓用該過濾器
        url-pattern: /*
        exclusions: /druid/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico
      stat-view-servlet:
        enabled: true #是否啓用監控頁面
        url-pattern: /druid/*
        reset-enable: false #是否允許重置監控數據
        login-username: druid #登錄監控頁面所需的用户名
        login-password: druid #登錄監控頁面所需的密碼
        allow: 127.0.0.1 #允許訪問監控頁面的 IP 地址或地址段列表
        deny: #明確拒絕訪問監控頁面的 IP 地址或地址段列表。如果留空,則默認拒絕所有未在 allow 中列出的 IP 地址。


3、啓動

成功運行,我們可以看到數據庫連接池已經變成Druid。

SpringBoot Druid配置過程圖解_java_數據庫連接池_02

由於我們在配置文件中,啓用了監控頁面,我們來登錄http://localhost:8080/druid/login.html

SpringBoot Druid配置過程圖解_java_數據庫連接池_03

輸入配置的賬號密碼,進入監控頁面,如下圖

SpringBoot Druid配置過程圖解_java_#android_04

我們點擊SQL監控,並登錄swagger地址http://localhost:8080/swagger-ui/index.html#/(如何配置使用swagger,詳情見Springboot3學習(4、Swagger使用及配置),調用show接口,查看效果,如下圖

SpringBoot Druid配置過程圖解_java_spring_05

大功告成!!!