Spring Cloud Config4.1.2

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

特性

Spring Cloud Config Server 特性

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

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

  • 使用 @EnableConfigServer 轻松嵌入到 Spring Boot 应用程序中

Config Client 特性(适用于 Spring 应用程序)

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

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

开始使用

只要 Spring Boot Actuator 和 Spring Config Client 在类路径中,任何 Spring Boot 应用程序都会尝试联系 [https://127.0.0.1:8888](https://127.0.0.1:8888) 上的配置服务器,这是 spring.cloud.config.uri 的默认值。如果您想更改此默认值,可以在 bootstrap.[yml | properties] 中或通过系统属性或环境变量设置 spring.cloud.config.uri

@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 Boot 方式绑定的任何其他值)可以来自本地配置或远程配置服务器。默认情况下,配置服务器优先。要查看此内容,请查看应用程序中的 /env 端点,并查看 configServer 属性源。

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

Spring Initializr

快速启动您的项目

抢先一步

VMware 提供培训和认证,以加速您的进度。

了解更多

获取支持

Tanzu Spring Runtime 在一个简单的订阅中为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中即将举行的所有活动。

查看全部