druid和druid-spring-boot-starter 的區別


今天建項目的時候,使用springboot整合druid的時候啟動報錯:

springboot項目中提示報錯Cannot resolve configuration property 'spring.datasource.xxxx'

然后我就網上搜索資料,可以參考:

https://www.cnblogs.com/dxiaodang/p/14571590.html

主要原因還是要不要手動寫配置類,spring boot 的使用 auto幫我們封裝好了屬性值

描述如下:

    1. 作用是一樣的,都是連接池提供連接,里邊的配置參數都是一樣的;
    2. druid-spring-boot-starter只是在druid基礎上進行了一次封裝,專門用來整合spring-boot項目;
      如果springboot項目想使用druid也是可以的,但是需要手動編寫配置類並注入到bean中,並加載對應的配置參數;但是不建議,明明有現成封裝好的jar,就直接使用就好了!!!

所以我后面改成了使用druid-spring-boot-starter依賴。

<!--改為stater的方式-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>${druid.version}</version>
</dependency>

並且在application.yml文件中配置如下內容:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
#    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test01
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  druid:
    #   Druid數據源配置
    # 初始連接數
    initialSize: 5
    # 最小連接池數量
    minIdle: 10
    # 最大連接池數量
    maxActive: 20
    # 配置獲取連接等待超時的時間
    maxWait: 60000
    # 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一個連接在池中最小生存的時間,單位是毫秒
    minEvictableIdleTimeMillis: 300000
    # 配置一個連接在池中最大生存的時間,單位是毫秒
    maxEvictableIdleTimeMillis: 900000
    # 配置檢測連接是否有效
    validationQuery: SELECT 1
    #申請連接的時候檢測,如果空閑時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測連接是否有效。
    testWhileIdle: true
    #配置從連接池獲取連接時,是否檢查連接有效性,true每次都檢查;false不檢查。做了這個配置會降低性能。
    testOnBorrow: false
    #配置向連接池歸還連接時,是否檢查連接有效性,true每次都檢查;false不檢查。做了這個配置會降低性能。
    testOnReturn: false
    #打開PsCache,並且指定每個連接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    #   配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall'用於防火牆
    filters: stat,wall,log4j
    #合並多個DruidDatasource的監控數據
    useGlobalDataSourceStat: true
    #通過connectProperties屬性來打開mergesql功能羅慢sQL記錄
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;

這樣就不需要單獨對DruidDatasource寫個配置類了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM