读取配置流程
创建工程
略
添加依赖
<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的区别
启动时,先加载 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
说明读取配置文件成功
