[英]How to correctly version control (svn:ignore) a Java project (Maven, Spring)?
[英]Spring Properties in Version Control
我創建了以下所有已簽入 git 的屬性文件:
**application.properties**
spring.application.name=my-service
spring.cloud.config.fail-fast=true
spring.cloud.config.uri=${CONFIG_URI:http://localhost:8888}
spring.cloud.loadbalancer.ribbon.enabled=false
**application-dev.properties**
spring.cloud.config.enabled=false
eureka.client.enabled=false
spring.application.name=my-service
spring.datasource.url=jdbc:mysql://${DB_URL:http://localhost:3306/db_example}
spring.datasource.username=dev
spring.datasource.password=local
在生產中,所有配置都從配置服務器中檢索。
關於此設置的問題:
我看到的選項:
我錯過了什么? 我想要一個隨時可用的開發人員配置文件,但當然每個開發人員的機器都需要進行調整。
您可以定義用於構建 spring 的配置文件,這些配置文件將傳遞到項目構建時間。 因此,盡可能多地定義您喜歡的配置文件屬性文件:
application-prod.properties
application-user1.properties
application-user2.properties
application-user3.properties
您可以通過在項目配置中傳遞 VM-Options 來加載您的屬性
-Dspring.profiles.active=user2
請注意,您可以將所有配置文件使用的通用屬性定義為:
application.properties
並將application.properties
的默認配置文件設置為:
spring.profiles.active=prod
每個用戶都可能基於其適當的數據庫方案。 :
spring.datasource.url=jdbc:myql://host:port/database_${user.lowername}
spring.datasource.username=database_${user.lowername}
spring.datasource.password=database_${user.lowername}
$user 是存儲在操作系統本身中的環境變量
我在我的公司看到了幾種不同的方式:
Spring Boot 的外部化配置文檔對我們理解我們的選項和 PropertySource 順序非常有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.