欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringCloud极简入门(十一)Spring Cloud Config(Config Client)

程序员文章站 2022-07-03 18:05:59
...

接下来我们需要搭建Config Client 客户端来访问 Config Server从git中获取的配置参数

搭建客户端应用

1.创建SpringBoot应用ConfigClient,pom文件如下
```
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
>2.主程序配置类不做任何修改,如下

@SpringBootApplication
public class ConfigClientApplication {

public static void main(String[] args) {
    SpringApplication.run(ConfigClientApplication.class, args);
}

}

>3.修改配置文件 application.properties,只需要一个应用名即可

spring.application.name=config-client

>4.创建配置文件 bootstrap.properties,内容如下

分支

spring.cloud.config.label=master

指定dev开发环境配置文件 dev开发环境配置文件

spring.cloud.config.profile=dev

指定配置文件名字 config-client,此名字对应git中的配置文件的名字

spring.cloud.config.name=config-client

配置服务地址,执行我们上一章的ConfigServer服务地址

spring.cloud.config.uri=http://localhost:5555/

这里我们在resources目录下搞了两个配置文件,一个是默认的application.properties,一个是bootstrap.properties,这两个文件都可以作为SpringBoot的配置,只是bootstrap.properties中的配置优先级高于前者,而bootstrap.properties一般用来加载外部配置,
 config.label=master :指定使用git主分支,
config.uri=http://localhost:5555/ :指定配置服务地址,
config.name=config-client:指定git配置文件名,
profile=dev指定环境配置,即找到 config-client-dev.properties配置文件,   
这样一来ConfigServer就可以通过 ConfigServer去到git远程仓库找到对应的配置文件作为自己的配置项。
>5.编写测试用的HelloController ,该类中去读取配置中的 notify,而正好我们的git配置中是有该配置的,我们希望他可以从git中获取配置

@RestController
public class HelloController {

@Value("${notify}")    //从配置中取值
private String notify;
@RequestMapping("/hello")
public String hello(){
    return notify;
}

}
```

6.测试:依次启动 ConfigServer,ConfigClient ,在启动ConfigClient时你会发现tomcat端口已经变成了:7777 ,访问 : localhost:7777/hello 你可以看到 “You are successful for dev” , 到这里说明确实从git中取到配置参数。如果把配置:bootstrap.properties中的 spring.cloud.config.profile=test即可完成环境的切换,使用config-client-test.properties作为配置

SpringCloud极简入门(十一)Spring Cloud Config(Config Client)