创建configclient工程,从configserver读取配置文件 作者:马育民 • 2022-03-10 17:03 • 阅读:10088 # 读取配置流程 [](https://www.malaoshi.top/upload/pic/springcloud/Snipaste_2022-03-10_18-59-46.png) # 创建工程 略 # 添加依赖 ``` <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- config-server依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- springboot依赖,不写版本号表示继承父工程 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> ``` # 创建 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 ``` 说明读取配置文件成功 原文出处:/show_1IX2vAXlqlAO.html