多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
![](https://img.kancloud.cn/3a/98/3a98395d1e5c139c986ef08045fa6498_993x336.jpg) Config Server获取到远程的 Git 存储的配置,然后 Config Client 再通过 Config Server 来获取 Git 上存储的配置。 <br/> 步骤如下: **1. 在Gitee上新建两个配置文件** * *`cloud-config-client-3355-dev.yml`* ```yml app: name: cloud-config-client-3355 version: dev-1.0 ``` * *`cloud-config-client-3355-test.yml`* ```yml app: name: cloud-config-client-3355 version: test-1.0 ``` **2. 构建客户端模块:cloud-config-client-3355** **3. 在当前模块的`pom.xml`中添加 starter-config 依赖** ```xml <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ... </dependencies> ``` **4. 当前模块的`bootstrap.yml`配置文件** `applicaiton.yml`和`bootstrap.yml`都是SpringBoot的配置文件,但是`bootstrap.yml`是系统级的配置,而`application.yml`是用户级的配置,`bootrap.yml`比`application.yml`提前加载,优先级也更高。 (1)*`resources/bootstrap.yml`* ```yml server: port: 3355 spring: application: name: cloud-config-client cloud: config: label: master #分支名称 name: cloud-config-client-3355 #配置文件名称 profile: dev #读取后缀名称 uri: http://localhost:3344 #配置中心地址 ``` **5. 在当前模块中创建 ConfigController 类方便观察效果** ```java @RestController public class ConfigController { @Value("${app.version:default}") private String version; @Value("${app.name:default}") private String name; @GetMapping("/config") public String getConfigInfo() { return "app.name:" + name + ",version:" + version; } } ``` **6. 测试** (1)启动服务配置中心模块 cloud-config-server-3344,访问该模块能否与Gitee成功通信。 访问配置文件:http://localhost:3344/cloud-config-client-3355-dev.yml ,响应内容如下。 ```yml app: name: cloud-config-client-3355 version: dev-1.0 ``` <br/> (2)切换 cloud-config-client-3355 模块的`bootstrap.yml`中的`profile`配置。 ``` spring: cloud: config: label: master name: cloud-config-client-3355 profile: dev #分别在 dev 和 test 之间切换,每次重启 3355 模块后查看效果 uri: http://localhost:3344 ``` profile 为 dev 时,访问:http://localhost:3355/config ,得到如下响应。 ``` app.name:cloud-config-client-3355,version:dev-1.0 ``` profile 为 test 时,访问:http://localhost:3355/config ,得到如下响应。 ``` app.name:cloud-config-client-3355,version:test-1.0 ``` <br/> 可见 cloud-config-client-3355 客户端成功通过 cloud-config-server-3344 服务端访问到了远程的 Gitee 仓库上存储的配置文件。