首頁 > 資料庫 > mysql教程 > 如何使用環境變數在不同環境下配置我的Spring Boot應用程式?

如何使用環境變數在不同環境下配置我的Spring Boot應用程式?

Linda Hamilton
發布: 2024-12-09 16:00:21
原創
952 人瀏覽過

How Can I Use Environment Variables to Configure My Spring Boot Application in Different Environments?

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

背景

在Spring Boot 中,application.properties 檔案包含應用程式的設定設定.當應用程式在不同環境(本地、Jenkins、OpenShift)上運行時,通常需要動態調整這些設定。實現此目的的一種方法是使用環境變數。

設定環境變數

要設定環境變量,請在本地和 Jenkins VM 中建立系統環境變數。確保這些變數具有與 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"
登入後複製

在 application.properties 中使用環境變數

要在 application.properties 中使用環境變量,只需使用語法 ${VARIABLE_NAME} 包含它們即可。例如:

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}
登入後複製

注意:也可以使用Spring環境物件建立環境變數,但正如@Stefan Isele所建議的,在application.properties中使用直接變數替換是更簡單的方法。

使用 Spring Profiles

使用環境變數的替代方法是使用 Spring設定檔。透過這種方法,您可以建立多個 application.properties 文件,每個文件都針對特定環境進行自訂。 Spring 將根據 spring.profiles.active 屬性的值自動載入適當的文件,該屬性可以設定為環境變數或透過命令列參數設定。例如,您可以建立 application-local.properties、application-jenkins.properties 和 application-openshift.properties 檔案。在這種情況下,您可以在部署到 OpenShift 時設定 OPENSHIFT_MYSQL_DB_HOST 變數和 spring.profiles.active=openshift。

透過使用設定文件,您可以避免在環境變數中暴露資料庫憑證或其他敏感信息,因為它們是僅用於配置活動設定檔。

以上是如何使用環境變數在不同環境下配置我的Spring Boot應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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