微服務config-server配置環境切換改造

由於項目在開發環境、測試環境、生產環境中的配置多少會有些不一樣,每次去更改配置文件會顯得操做冗餘複雜,還容易產生錯誤。實現ConfigServer環境切換的改造,更改配置文件的複雜操做僅僅用一行命令行或者代碼就能夠完成。java

步驟以下:spring

1.將config-server裏面的xiangmu.properties改造爲xiangmu-dev.properties和xiangmu-test.properties(即開發環境和測試環境的配置文件)。bootstrap

2.找到對應的config-client,在其bootstrap.properties中添加「spring.profiles.active=dev」,即服務啓動默認去匹配xiangmu-dev.properties。app

或者也能夠在啓動類上使用註解「@PropertySource("classpath:xiangmu-dev.properties")」。dom

3.優化configserver目錄結構:在config-server的bootstrap.properties加入「spring.cloud.config.server.native.search-locations=classpath:/shared/{application}」,而後咱們此bootstrap.properties相同目錄下建立shared/xiangmu/文件夾,並將xiangmu的配置文件均置於此。測試

4.測試環境部署時選擇test配置文件「java -jar xxx.jar --spring.profiles.active=test」優化

Spring Boot提供的配置優先級以下(從高到低):spa

  1. 命令行參數
  2. 經過System.getProperties() 獲取的 Java 系統參數
  3. 操做系統環境變量
  4. 從 java:comp/env 獲得的 JNDI 屬性
  5. 經過RandomValuePropertySource 生成的「random.*」屬性
  6. 應用 Jar 文件以外的屬性文件。(經過spring.config.location參數)
  7. 應用 Jar 文件內部的屬性文件
  8. 在應用配置 Java 類(包含「@Configuration」註解的 Java 類)中經過「@PropertySource」註解聲明的屬性文件。
  9.   經過「SpringApplication.setDefaultProperties」聲明的默認屬性。
相關文章
相關標籤/搜索