close

Spring Cloud Config

Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以集中管理所有环境中应用程序的外部属性。客户端和服务器上的概念与SpringEnvironmentPropertySource抽象,因此它们非常适合Spring应用程序,但可以与以任何语言运行的任何应用程序一起使用。当应用程序从开发人员迁移到测试人员并进入生产过程时,您可以管理这些环境之间的配置,并确保应用程序具有在迁移时需要运行的所有内容。服务器存储后端的默认实现使用git,因此它轻松支持配置环境的标记版本,并且可以通过各种工具来访问这些内容来管理内容。添加替代实现并将其插入Spring配置很容易。

特征

Spring Cloud Config Server功能:

  • HTTP,用于外部配置的基于资源的API(名称-值对,或等效的YAML内容)

  • 加密和解密属性值(对称或不对称)

  • 使用以下命令可轻松嵌入到Spring Boot应用程序中 @EnableConfigServer

Config Client功能(用于Spring应用程序):

  • 绑定到Config Server并Environment使用远程属性源初始化Spring

  • 加密和解密属性值(对称或不对称)

入门

只要Spring Boot Actuator和Spring Config Client在类路径上,任何Spring Boot应用程序都将尝试与配置服务器联系http://localhost:8888,默认值为 spring.cloud.config.uri。如果要更改此默认值,可以spring.cloud.config.uribootstrap.[yml | properties] 系统属性或环境变量中或通过系统属性或环境变量进行设置。

@Configuration
@EnableAutoConfiguration
@RestController
public class Application {

  @Value("${config.name}")
  String name = "World";

  @RequestMapping("/")
  public String home() {
    return "Hello " + name;
  }

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}

config.name的样品中(或绑定到在Spring启动方式的任何其他值)可以来自本地配置或远程配置服务器。默认情况下,配置服务器将具有优先权。要查看此内容/env,请查看应用程序中的端点并查看configServer属性源。

要运行自己的服务器,请使用spring-cloud-config-server依赖项和@EnableConfigServer。如果设置,则spring.config.name=configserver该应用程序将在端口8888上运行,并提供来自示例存储库的数据。您需要根据spring.cloud.config.server.git.uri自己的需要定位配置数据(默认情况下,它是git存储库的位置,并且可以是本地file:..URL)。

SpringInitializr

快速启动您的项目

使用 Spring Initializr引导您的应用程序 。

文献资料

每个Spring项目都有自己的项目。它详细说明了如何使用项目功能以及使用它们可以实现的功能。
3.0.3 当前 GA 参考文件
3.0.4 快照 参考文件
2.2.9.BUILD-SNAPSHOT 快照 参考文件
2.2.8.RELEASE GA 参考文件