创建configclient工程,从configserver读取配置文件 作者:马育民 • 2022-03-10 17:03 • 阅读:10063 # 读取配置流程 [![](https://www.malaoshi.top/upload/pic/springcloud/Snipaste_2022-03-10_18-59-46.png)](https://www.malaoshi.top/upload/pic/springcloud/Snipaste_2022-03-10_18-59-46.png) # 创建工程 略 # 添加依赖 ``` org.springframework.boot spring-boot-dependencies 2.2.2.RELEASE pom import org.springframework.cloud spring-cloud-dependencies Hoxton.SR1 pom import org.springframework.cloud spring-cloud-starter-config org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator ``` # 创建 bootstrap 配置文件 - `bootstrap.yml` :先加载 - `application.yml` :后加载 详见:[springboot application.yml与bootstrap.yml的区别](https://www.malaoshi.top/show_1EF5lbJAdbGe.html "springboot application.yml与bootstrap.yml的区别") 启动时,先加载 `bootstrap.yml` 配置文件,根据配置,向 **server config** 发请求,读取到配置后,再继续启动服务,如:连接数据库等操作 创建 `bootstrap.yml` 或 `bootstrap.properties` 都可以,效果相同 ### bootstrap.yml ``` server: port: 7020 spring: application: name: testconfig cloud: config: # 配置服务器地址 uri: http://localhost:7101/ # git的文件名 name: ums # 环境,dev 开发环境配置文件 | test 测试环境 | pro 正式环境 profile: dev #仓库的分支 label: master ``` ### bootstrap.properties ``` server.port=7020 spring.application.name=testconfig # 配置服务地址 spring.cloud.config.uri= http://localhost:7101/ # git的文件名 spring.cloud.config.name=ums # 仓库的分支 spring.cloud.config.label=master # 环境,dev 开发环境配置文件 | test 测试环境 | pro 正式环境 spring.cloud.config.profile=dev ``` # 创建主启动类 ``` import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Main { public static void main(String[] args) { SpringApplication.run(Main.class, args); } } ``` # 创建 controller ``` import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestCtrl { @Value("${data.db.username}") String username; @Value("${data.db.password}") String password; @RequestMapping("/test") public String test(){ return username + "——" + password; } } ``` # 启动服务 启动服务,看到下面信息: ``` Fetching config from server at : http://localhost:7101/ Located environment: name=ums, profiles=[dev], label=master, version=98e04022c4ea2ae523527f7b06949fefa9020e0d, state=null ``` 说明 向 server config 发请求,请求配置文件 # 测试:访问controller 访问连接:http://localhost:7020/test ,显示如下: ``` root——123456 ``` 说明读取配置文件成功 原文出处:http://malaoshi.top/show_1IX2vAXlqlAO.html