首頁 >資料庫 >mysql教程 >如何在沒有資料庫依賴的情況下啟動Spring Boot應用程式?

如何在沒有資料庫依賴的情況下啟動Spring Boot應用程式?

DDD
DDD原創
2024-11-08 09:04:01920瀏覽

How to Start a Spring Boot Application Without Database Dependency?

在沒有資料庫依賴的情況下啟動Spring Boot 應用程式

使用使用資料庫的Spring Boot 應用程式時,可能會在資料庫不可用時遇到錯誤令人沮喪。若要解決此問題,應將應用程式配置為即使無法存取資料庫也能成功啟動。

原始錯誤的原因

初始錯誤期間遇到的錯誤嘗試在沒有資料庫的情況下啟動Spring Boot 應用程式源自Hibernate 及其依賴資料庫中的元資料來決定表結構和關係。當資料庫不可用時,Hibernate 無法取得必要的元數據,從而導致錯誤。

解決方案:設定Spring Boot 和Hibernate

要解決此問題,請在application.yml中設定以下屬性file:

spring:
  datasource:
    continueOnError: true
    initialize: false
    initialSize: 0
    timeBetweenEvictionRunsMillis: 5000
    minEvictableIdleTimeMillis: 5000
    minIdle: 0

  jpa:
    show-sql: true
    hibernate:
      ddl-auto: none
      naming_strategy: org.hibernate.cfg.DefaultNamingStrategy
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5Dialect
        hbm2ddl:
          auto: none
        temp:
          use_jdbc_metadata_defaults: false
  • spring.datasource.continueOnError:此屬性告訴Spring即使在初始化資料來源時出現錯誤也繼續啟動應用程式。
  • spring.datasource。初始化:此屬性指定是否在啟動時初始化資料來源。將其設為 false 表示在實際嘗試連線之前不會初始化資料來源。
  • spring.datasource.initialSize:此屬性設定啟動時要建立的初始連線數。設定為 0 表示啟動時不會建立連線。
  • spring.datasource.timeBetweenEvictionRunsMillis:此屬性決定資料來源檢查空閒連線以逐出的頻率(以毫秒為單位)。
  • spring.datasource.minEvictableIdleTimeMillis:此屬性設定空閒連線可以保持的最短時間(以毫秒為單位)
  • spring.datasource.minIdle:此屬性設定池中保留的最小空閒連線連線數。
  • spring.jpa.hibernate.ddl -auto:此屬性設定 Hibernate 對資料庫模式執行的操作。將其設為 none 意味著不應對資料庫模式進行任何變更。
  • spring.jpa.hibernate.dialect:此屬性指定要使用的 Hibernate 方言。使用適當的方言可確保 Hibernate 產生與資料庫相容的 SQL。
  • spring.jpa.hibernate.properties.hibernate.temp.use_jdbc_metadata_defaults:此屬性指定 Hibernate 是否應使用 JDBC 元資料來決定表結構和關聯。將其設為 false 可防止 Hibernate 依賴資料庫,而是使用網域類別中的映射註解來定義實體。

解的優點

透過實現這些配置,Spring Boot 應用程式:

  • 即使資料庫無法使用也能成功啟動。
  • 當資料庫可用時動態建立連接,從而消除了需要重新啟動。
  • 優雅地處理資料庫中斷,而不影響正在運行的應用程式。

以上是如何在沒有資料庫依賴的情況下啟動Spring Boot應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn