Spring Cloud Config组件简介
- 提供对服务端和客户端的支持。
- 进行集中式的配置管理。
- 与 Spring Boot 和 Spring Cloud 应用无缝集成。
- 默认基于 Git 进行版本管理。
Spring Cloud Config架构如图 1 所示。

图1 Spring Cloud Config架构
接下来介绍基于 Spring Cloud Config 配置中心的搭建过程。
(1)首先在个人 GitHub 网站上新建自己的仓库,本例中的仓库名为 config-repo,然后在仓库中新建 4 个配置文件。config-client.yml 文件内容如下:
#定义属性
name: config-client-default
config-client-dev.yml 文件内容如下:
#定义属性
name: config-client-dev
config-client-test.yml 文件内容如下:
#定义属性
name: config-client-test
config-client-prod.yml 文件内容如下:
#定义属性
name: config-client-prod
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> <version>2.2.5.RELEASE</version> </dependency>(3)修改 config-server 工程的配置文件 application.yml,在其中添加 Git 仓库配置,具体如下:
spring:
cloud:
config:
server:
git:
uri: https://github.com/xxx/config-repo
username: www.weixueyuan.net
password: 123456
default-label: master
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
访问 4 个URL,均可以获得配置数据:
- http://localhost:8080/config-client/default;
- http://localhost:8080/ config-client/dev/master;
- http://localhost:8080/config-client-test.yml;
- http://localhost: 8080/master/config-client-prod.yml。
(5)搭建客户端工程 config-client,依赖 spring-cloud-starter-config 包,然后修改 bootstrap.yml 文件,代码如下:
spring:
cloud:
config:
name: config-client
uri: http://localhost:8080
label: master
profile: dev
@RestController public class ConfigController { @Value("${name}") private String name; @GetMapping("/name") public String getName() { return name; } }启动服务访问接口即可获取 name 配置数据。本文只介绍了 Spring Cloud Config 的基本配置,如果想实现动态地修改配置,可以结合 Webhook 或者Spring Cloud Bus 进行配置修改的实时刷新。
声明:《Java系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
相关文章
- Config:Spring Cloud分布式配置组件(非常详细)
- Spring Cloud Hystrix组件简介与使用
- Spring Cloud是什么
- Eureka:Spring Cloud服务注册与发现组件(非常详细)
- Ribbon:Spring Cloud负载均衡与服务调用组件(非常详细)
- OpenFeign:Spring Cloud声明式服务调用组件(非常详细)
- Hystrix:Spring Cloud服务熔断与降级组件(非常详细)
- Gateway:Spring Cloud API网关组件(非常详细)
- Spring Cloud Alibaba是什么
- Nacos:Spring Cloud Alibaba服务注册与配置中心(非常详细)