在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 中使用環境變量,只需使用語法 ${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設定檔。透過這種方法,您可以建立多個 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中文網其他相關文章!