文章目錄
SpringCloud Config Server的作用實際上是充當Spring應用和存放在Git中的配置文件之間的媒介,爲其他應用提供一個統一的配置管理中心,架構圖如下:
圖片出處:Config 簡介以及搭建server端
關於SpringCloud Config的介紹可以參考:SpringCloud Config簡介
本文介紹SpringCloud Config Server的搭建步驟。
1 創建Git倉庫
這一步簡單,隨便創建一個目錄,在該目錄下執行下git init
即可。
當然也可以從GitHub或GitLab上創建一個倉庫,再git clone
到本地。
2 創建應用配置文件
在上面創建的目錄下,創建一個a-bootiful-client.properties
文件,文件內容:
message = Hello world
這裏需要注意一下,Config Server中每個配置文件對應一個應用,如a-bootiful-client.properties
這個配置文件中保存的就是應用名爲a-bootiful-client
的應用的配置。如果要保存所有應用通用的配置,可以放在application.properties
或application.yml
中,如果通用配置中的配置項和特定應用的配置項發生衝突,特定應用的配置項會覆蓋調通用配置中的配置項。
3 將應用配置文件commit到Git倉庫中
這裏也有個地方需要注意的,Spring Config只能讀取到commit到Git中的配置信息,只修改了配置文件沒有commit是不會生效的。
執行以下命令,將應用配置文件commit到Git倉庫中:
git add .
git commit -m 'add'
4 創建Config Server應用
爲了方便,我們可以在https://start.spring.io創建一個Config Server模板應用,進入https://start.spring.io,依賴選擇Config Server,填寫包名等信息後點擊GENERATE
按鈕,生成一個Config Server項目的壓縮包:
解壓該壓縮包,導入到Idea中(其他IDE應該也一樣)。
5 配置運行Config Server
在src/main/resources/application.properties
加入以下配置:
server.port=8888
spring.cloud.config.server.git.uri=${HOME}/Documents/workspaces/git/springcloudconfig
server.port
修改應用的監聽的端口爲8888,防止和其他應用衝突。
spring.cloud.config.server.git.uri
指定了Git倉庫的地址,即第一步我們創建的目錄。
打開ConfigserverApplication.java
文件,生成的這個Java文件不知道怎麼的少了一個註解@EnableConfigServer
,需要加上去,如下:
package com.example.configserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class ConfigserverApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigserverApplication.class, args);
}
}
完成上述配置以後不出意外的話run一下就可以運行起來了。
6 訪問Config Server
打開瀏覽器,輸入地址 http://localhost:8888/a-bootiful-client/default
,可以看到一下界面:
注意,地址中的a-bootiful-client
是第2步中創建的配置文件的名稱,返回的Json數據中的source
即是配置文件中定義的配置信息。