最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot 3.x使用starter整合Druid的過程及問題小結(jié)

 更新時(shí)間:2025年11月20日 11:06:58   作者:太空眼睛  
Druid是一個(gè)由阿里巴巴開源的數(shù)據(jù)庫連接池,性能優(yōu)越且功能豐富,在Spring Boot項(xiàng)目中集成Druid時(shí),需要注意依賴版本和配置文件的正確性,本文給大家介紹SpringBoot 3.x使用starter整合Druid的過程及問題小結(jié),感興趣的朋友跟隨小編一起看看吧

Druid介紹

Druid是阿里巴巴的一個(gè)開源項(xiàng)目,號(hào)稱為監(jiān)控而生的數(shù)據(jù)庫連接池,在功能、性能、擴(kuò)展性方面都超過其他例如DBCP、C3P0BoneCP、Proxool、JBoss DataSource等連接池,而且Druid已經(jīng)在阿里巴巴部署了超過600個(gè)應(yīng)用,通過了極為嚴(yán)格的考驗(yàn),這才收獲了大家的青睞!

本地開發(fā)環(huán)境說明

開發(fā)依賴版本
Spring Boot3.0.6
druid-spring-boot-3-starter1.2.18
JDK20

SpringBoot集成Druid

如果是SpringBoot 2.x,使用以下依賴

<!-- SpringBoot 2.x -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>${druid-spring-boot-starter.version}</version>
</dependency>

如果是SpringBoot 3.x,使用以下依賴

<!-- SpringBoot 3.x -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-3-starter</artifactId>
    <version>${druid-spring-boot-starter.version}</version>
</dependency>

application.yml配置

為了方便演示和直觀,配置文件拆分成2個(gè),application.ymlapplication-druid.yml

application.yml

spring:
  profiles:
    active: druid
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:tcp://localhost/D:/ProgramFiles/h2database/data/test;MODE=MYSQL;
    username:
    password:

application-druid.yml配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    # Druid的其他屬性配置
    druid:
      # 初始化時(shí)建立物理連接的個(gè)數(shù)
      initial-size: 5
      # 連接池的最小空閑數(shù)量
      min-idle: 5
      # 連接池最大連接數(shù)量
      max-active: 20
      # 獲取連接時(shí)最大等待時(shí)間,單位毫秒
      max-wait: 60000
      # 申請(qǐng)連接的時(shí)候檢測,如果空閑時(shí)間大于timeBetweenEvictionRunsMillis,執(zhí)行validationQuery檢測連接是否有效。
      test-while-idle: true
      # 既作為檢測的間隔時(shí)間又作為testWhileIdel執(zhí)行的依據(jù)
      time-between-eviction-runs-millis: 60000
      # 銷毀線程時(shí)檢測當(dāng)前連接的最后活動(dòng)時(shí)間和當(dāng)前時(shí)間差大于該值時(shí),關(guān)閉當(dāng)前連接(配置連接在池中的最小生存時(shí)間)
      min-evictable-idle-time-millis: 30000
      # 用來檢測數(shù)據(jù)庫連接是否有效的sql 必須是一個(gè)查詢語句(oracle中為 select 1 from dual)
      validation-query: select 'x'
      # 申請(qǐng)連接時(shí)會(huì)執(zhí)行validationQuery檢測連接是否有效,開啟會(huì)降低性能,默認(rèn)為true
      test-on-borrow: false
      # 歸還連接時(shí)會(huì)執(zhí)行validationQuery檢測連接是否有效,開啟會(huì)降低性能,默認(rèn)為true
      test-on-return: false
      # 是否緩存preparedStatement, 也就是PSCache,PSCache對(duì)支持游標(biāo)的數(shù)據(jù)庫性能提升巨大,比如說oracle,在mysql下建議關(guān)閉。
      pool-prepared-statements: false
      # 置監(jiān)控統(tǒng)計(jì)攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計(jì),stat: 監(jiān)控統(tǒng)計(jì)、Slf4j:日志記錄、waLL: 防御sqL注入
      filters: stat,wall,slf4j
      # 要啟用PSCache,必須配置大于0,當(dāng)大于0時(shí),poolPreparedStatements自動(dòng)觸發(fā)修改為true。在Druid中,不會(huì)存在Oracle下PSCache占用內(nèi)存過多的問題,可以把這個(gè)數(shù)值配置大一些,比如說100
      max-pool-prepared-statement-per-connection-size: -1
      # 合并多個(gè)DruidDataSource的監(jiān)控?cái)?shù)據(jù)
      use-global-data-source-stat: true
      # 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
      connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      web-stat-filter:
        # 是否啟用StatFilter默認(rèn)值true
        enabled: true
        # 添加過濾規(guī)則
        url-pattern: /*
        # 忽略過濾的格式
        exclusions: /druid/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico
      stat-view-servlet:
        # 是否啟用StatViewServlet默認(rèn)值true
        enabled: true
        # 訪問路徑為/druid時(shí),跳轉(zhuǎn)到StatViewServlet
        url-pattern: /druid/*
        # 是否能夠重置數(shù)據(jù)
        reset-enable: false
        # 需要賬號(hào)密碼才能訪問控制臺(tái),默認(rèn)為root
        login-username: druid
        login-password: druid
        # IP白名單
        allow: 127.0.0.1
        # IP黑名單(共同存在時(shí),deny優(yōu)先于allow)
        deny:

集成過程出現(xiàn)的問題

由于本文使用SpringBoot 3.x版本,啟動(dòng)后,在瀏覽器輸入

http://localhost:8080/druid
  • 但會(huì)報(bào)404的錯(cuò)誤,首先要確保pom.xml引用的是druid-spring-boot-3-starter而不是druid-spring-boot-starter
  • 通過源碼分析,druid-spring-boot-3-starter目前最新版本是1.2.18,雖然適配了SpringBoot3,但缺少自動(dòng)裝配的配置文件,需要手動(dòng)在resources目錄下創(chuàng)建META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,文件內(nèi)容如下
com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
  • 本來想針對(duì)這個(gè)問題提個(gè)issuePR,無奈github在國內(nèi)訪問太不穩(wěn)定了

瀏覽器訪問

  • 在瀏覽器輸入: http://localhost:8080/druid
  • 登錄賬號(hào)密碼是配置文件中指定的: druid/druid

在線文檔

  • 官網(wǎng): https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

到此這篇關(guān)于SpringBoot 3.x使用starter整合Druid的文章就介紹到這了,更多相關(guān)springboot starter整合druid內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java普通類調(diào)用mapper或者service方法詳解

    java普通類調(diào)用mapper或者service方法詳解

    本文介紹了兩種調(diào)用或獲取Spring Bean的方法:一種是直接使用Test.select(1);另一種是通過自定義SpringUtil工具類實(shí)現(xiàn)對(duì)Spring Bean的獲取和管理,從而簡化在項(xiàng)目中的Bean調(diào)用流程
    2025-10-10
  • Java中Jedis基本使用

    Java中Jedis基本使用

    Redis的Java實(shí)現(xiàn)的客戶端,本文主要介紹了Java中Jedis基本使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • SpringBoot通過token實(shí)現(xiàn)用戶互踢功能(具體實(shí)現(xiàn))

    SpringBoot通過token實(shí)現(xiàn)用戶互踢功能(具體實(shí)現(xiàn))

    所謂token,既用戶能夠在一定時(shí)間內(nèi)證明自己身份的一長串字符串,這篇文章主要介紹了SpringBoot通過token實(shí)現(xiàn)用戶互踢功能,需要的朋友可以參考下
    2024-04-04
  • Java 中的 CompletableFuture如何讓異步編程變得簡單

    Java 中的 CompletableFuture如何讓異步編程變得簡單

    CompletableFuture是Java 8引入的異步編程神器,它提供了強(qiáng)大的鏈?zhǔn)讲僮鳌⑷蝿?wù)組合和異常處理功能,使得異步編程變得簡單優(yōu)雅,本文給大家介紹Java中的CompletableFuture如何讓異步編程變得簡單,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • SpringBoot實(shí)現(xiàn)整合微信支付方法詳解

    SpringBoot實(shí)現(xiàn)整合微信支付方法詳解

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)整合微信支付的過程詳解,文中的示例代碼對(duì)我們的工作或?qū)W習(xí)有一定的幫助,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2021-12-12
  • Java面向接口編程之命令模式實(shí)例詳解

    Java面向接口編程之命令模式實(shí)例詳解

    這篇文章主要介紹了Java面向接口編程之命令模式,結(jié)合實(shí)例形式詳細(xì)分析了Java面向接口編程命令模式的定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • 在IDEA中創(chuàng)建跑得起來的Springboot項(xiàng)目

    在IDEA中創(chuàng)建跑得起來的Springboot項(xiàng)目

    這篇文章主要介紹了在IDEA中創(chuàng)建跑得起來的Springboot項(xiàng)目的圖文教程,需要的朋友可以參考下
    2018-04-04
  • 使用spring-data-jpa實(shí)現(xiàn)簡單的兩表聯(lián)查實(shí)踐

    使用spring-data-jpa實(shí)現(xiàn)簡單的兩表聯(lián)查實(shí)踐

    本文介紹了Spring Data JPA在Spring Boot中的配置與簡單操作,涵蓋一對(duì)多和多對(duì)一關(guān)系的處理,適合初學(xué)者學(xué)習(xí),通過配置數(shù)據(jù)源、創(chuàng)建實(shí)體類和DAO接口,實(shí)現(xiàn)基本的CRUD操作,并提供了一個(gè)簡單的示例
    2026-06-06
  • Java實(shí)現(xiàn)動(dòng)態(tài)生成GIF圖像詳解

    Java實(shí)現(xiàn)動(dòng)態(tài)生成GIF圖像詳解

    在互聯(lián)網(wǎng)上有許多有趣的場景,其中的一種就是動(dòng)圖。這不是視頻,而是一種GIF圖像信息。本文將利用Java實(shí)現(xiàn)動(dòng)態(tài)生成GIF圖像功能,需要的可以參考一下
    2022-09-09
  • Java的靜態(tài)類型檢查示例代碼詳解

    Java的靜態(tài)類型檢查示例代碼詳解

    本文將使用幾個(gè)代碼示例,深入講解Java中的類型檢查機(jī)制。一旦完全理解了本文的例子,就完全掌握了Java中的靜態(tài)類型檢查,感興趣的朋友一起看看吧
    2017-11-11

最新評(píng)論

威信县| 台东县| 深水埗区| 二手房| 翁源县| 双柏县| 信阳市| 花垣县| 兴仁县| 丘北县| 中西区| 卢龙县| 岳普湖县| 运城市| 温泉县| 扶风县| 南宫市| 邢台市| 安康市| 昌黎县| 伊宁市| 灌阳县| 遵义县| 卫辉市| 汪清县| 都兰县| 富民县| 林州市| 龙海市| 库尔勒市| 合江县| 辉南县| 元阳县| 宁安市| 什邡市| 绥中县| 贵定县| 衡水市| 宁陵县| 正宁县| 莱芜市|