SpringCloud系列之Config3-搭建Client端直连配置中心_配置文件 image.png

1.新建一个springboot的module,然后引入依赖

在本人的测试中,开始是一直报错

Description:

No spring.config.import property has been defined

Action:

Add a spring.config.import=configserver: property to your configuration.
If configuration is not required add spring.config.import=optional:configserver: instead.
To disable this check, set spring.cloud.config.enabled=false or
spring.cloud.config.import-check.enabled=false.

根据资料查询,原来是2020.X.X版本官方重构了bootstrap引导配置的加载方式,需要添加以下依赖:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

下面是完整的依赖:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.创建一个bootstrap.yml

在上一个帖子中,我们创建了一个配置中心,这个配置中心是从gitee仓库中拉取两个配置文件一个是 config-consumer-prod.yml,一个是config-consumer-dev.yml,而在config-client中需要配置的地址是配置中心的地址,我们从配置中心获取配置信息即可。

如果spring.cloud.config.name没有配置的话,那么当前的客户端就会以 spring.application.name作为想要获取的配置文件的前缀名去获取。

myWords: ${words} 代表要读取配置文件中的words变量

server.port= 61000

spring.application.name=config-consumer
spring.profiles.active=prod

spring.config.import=optional:configserver:http://localhost:60000
spring.cloud.config.name= config-consumer
spring.cloud.config.profile= dev

myWords: ${words}

3.启动测试:

SpringCloud系列之Config3-搭建Client端直连配置中心_bootstrap_02 image.png

SpringCloud系列之Config3-搭建Client端直连配置中心_配置文件_03 image.png