Spring Cloud Config爲分佈式系統中的外部配置提供服務器和客戶端支持。使用Config Server,您能夠在全部環境中管理應用程序的外部屬性。客戶端和服務器上的概念映射與Spring Environment和PropertySource抽象相同,所以它們與Spring應用程序很是契合,但能夠與任何以任何語言運行的應用程序一塊兒使用。隨着應用程序經過從開發人員到測試和生產的部署流程,您能夠管理這些環境之間的配置,並肯定應用程序具備遷移時須要運行的一切。服務器存儲後端的默認實現使用git,所以它輕鬆支持標籤版本的配置環境,以及能夠訪問用於管理內容的各類工具。很容易添加替代實現,並使用Spring配置將其插入。html
要在應用程序中使用這些功能,只需將其構建爲依賴於spring-cloud-config-client的Spring引導應用程序(例如,查看配置客戶端或示例應用程序的測試用例)。添加依賴關係的最方便的方法是經過Spring Boot啓動器org.springframework.cloud:spring-cloud-starter-config。還有一個Maven用戶的父pom和BOM(spring-cloud-starter-parent)和用於Gradle和Spring CLI用戶的Spring IO版本管理屬性文件。示例Maven配置:git
的pom.xml org.springframework.boot spring-boot-starter-parent 1.3.5.RELEASE github
org.springframework.cloud spring-cloud-dependencies Brixton.RELEASE pom import org.springframework.cloud spring-cloud-starter-config org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin那麼你能夠建立一個標準的Spring Boot應用程序,像這個簡單的HTTP服務器:spring
@SpringBootApplication @RestController public class Application {bootstrap
@RequestMapping("/")
public String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
複製代碼
} 當它運行它將從端口8888上的默認本地配置服務器接收外部配置,若是它正在運行。要修改啓動行爲,您能夠使用bootstrap.properties(如application.properties)更改配置服務器的位置,但用於應用程序上下文的引導階段),例如後端
spring.cloud.config.uri: http://myconfigserver.com 引導屬性將在/env端點中顯示爲高優先級屬性源,例如服務器
$ curl localhost:8080/env { "profiles":[], "configService:https://github.com/spring-cloud-samples/config-repo/bar.properties":{"foo":"bar"}, "servletContextInitParams":{}, "systemProperties":{...}, ... } (名爲「configService:<遠程存儲庫的URL> / <文件名>」的屬性源包含值爲「bar」的屬性「foo」,是最高優先級)。注意:屬性源名稱中的URL是git存儲庫,而不是配置服務器URL。app
源碼來源:http://minglisoft.cn/honghu/technology.htmlcurl