领先一步
VMware 提供培训和认证,以加快您的进度。
了解更多Spring Cloud Config 为分布式系统中的外部化配置提供服务器端和客户端支持。借助 Config Server,您可以集中管理所有环境中应用程序的外部属性。客户端和服务器上的概念与 Spring Environment
和 PropertySource
抽象完全相同,因此它们非常适合 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 方式绑定的任何其他值)可以来自本地配置或远程 Config Server。默认情况下,Config Server 优先。要查看这一点,请查看应用程序中的 /env
端点,并查看 configServer
属性源。
要运行您自己的服务器,请使用 spring-cloud-config-server
依赖项和 @EnableConfigServer
。如果您设置 spring.config.name=configserver
,则应用程序将在 8888 端口上运行,并从示例存储库提供数据。您需要一个 spring.cloud.config.server.git.uri
来定位您自己需求的配置数据(默认情况下,它是一个 Git 存储库的位置,可以是本地 file:..
URL)。
使用以下命令引导您的应用程序: Spring Initializr.