首頁 > Java > java教程 > 如何使用環境變數管理不同環境下的Spring Boot資料庫憑證?

如何使用環境變數管理不同環境下的Spring Boot資料庫憑證?

Mary-Kate Olsen
發布: 2024-12-02 11:37:11
原創
360 人瀏覽過

How Can I Manage Spring Boot Database Credentials Across Different Environments Using Environment Variables?

在Spring Boot 的Application.properties 中使用環境變數

跨各種環境部署Spring Boot 應用程式時,避免硬編碼至關重要application.properties 中的資料庫憑證。為了解決這個問題,可以在屬性檔中動態引用環境變數。

要利用此方法,請按照以下步驟操作:

1.建立系統環境變數

在本地和任何其他相關虛擬機器上建立環境變數。將這些變數命名為與其 OpenShift 對應項相同的名稱,並指派適當的值:

export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost"
export OPENSHIFT_MYSQL_DB_PORT="3306"
export OPENSHIFT_MYSQL_DB_USERNAME="root"
export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"
登入後複製

2。在application.properties 中引用環境變數

要在application.properties 中包含環境變量,請使用以下語法:

spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB"
spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME}
spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
登入後複製

3.替代方法(推薦)

但是,@Stefan Isele提出的更簡潔且易於管理的解決方案是使用Spring 設定檔:

  • 建立多個名為application-{profile-name}.properties.
  • 設定環境變數的屬性檔案spring.profiles.active 到所需的設定檔(例如application-local.properties)。

Spring 將根據指定的設定檔自動讀取對應的屬性檔。

透過以下方式透過這些技術,您可以根據部署的環境動態配置 Spring Boot 應用程序,而無需在 application.properties 中硬編碼敏感資訊。

以上是如何使用環境變數管理不同環境下的Spring Boot資料庫憑證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板