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

SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心

程序员文章站 2022-03-20 19:23:24
[toc] 1.环境介绍 上一篇文章中,我们介绍了如何利用eureka注册中心发布服务以及调用服务,有兴趣的小伙伴可以去看看我的前两篇文件。 本篇文章我们介绍如何利用spring config sever配合github搭建配置中心,请准备github的账号一个,或者自建git环境也行。 2.配置中 ......

目录

1.环境介绍

上一篇文章中,我们介绍了如何利用eureka注册中心发布服务以及调用服务,有兴趣的小伙伴可以去看看我的前两篇文件。
本篇文章我们介绍如何利用spring config sever配合github搭建配置中心,请准备github的账号一个,或者自建git环境也行。

2.配置中心

2.1 创建工程

和前面一样,创建一个名为“mirco-service-config”的工程,在pom文件中加入

        <dependency>
            <groupid>org.springframework.cloud</groupid>
            <artifactid>spring-cloud-config-server</artifactid>
        </dependency>

2.2 修改配置文件

server:
  port: 7001

spring:
  application:
    name: service-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/yb2020/spring-cloud-study-example.git
          username: your github username
          password: your github password
          search-paths: mirco-service-config

参数介绍
uri: github对应的repository
username: github的账号
password: github的密码
search-paths: 对应repository的配置文件目录

2.3 在github中加入配置文件

在github中加入目录mirco-service-config,我们将上一个工程“mirco-service-consumer”的配置文件内容加入一个名为“consumer-test.yml”,并提交。文章中只讲这一个改造,视频中会改造多个工程。

2.3 修改启动文件

  1. 在启动文件中加上"@enableconfigserver"注解,然后启动工程。

  2. 打开浏览器访问http://localhost:7001/consumer/test,可以看到如下图内容,说明配置中心已经成功配置完成。
{
    "name": "consumer",
    "profiles": ["test"],
    "label": null,
    "version": "cd27a62ff16b45d1f9aed89fa338cd9671069c19",
    "state": null,
    "propertysources": [{
        "name": "https://github.com/yb2020/spring-cloud-study-example.git/mirco-service-config/consumer-test.yml",
        "source": {
            "server.port": 8002,
            "spring.application.name": "service-consumer",
            "eureka.client.service-url.defaultzone": "http://localhost:9001/eureka/"
        }
    }]
}

3. 访问配置中心

接下来,其他微服务改造一下,将配置改为从配置中心获取,我们以"mirco-service-consumer"工程为例。

  • 因为我们已经将配置内容放到名称"consumer-test.yml"文件中,将工程中的application.yml文件删除或者改后缀为“yml1”,因为applicaiton.yml是springboot启动时会默认读取的配置,为了看到效果,我们删除。

  • 在pom文件中加入
        <dependency>
            <groupid>org.springframework.cloud</groupid>
            <artifactid>spring-cloud-starter-config</artifactid>
        </dependency>
  • 添加“bootstrap.yml”文件,内容如下:
spring:
  cloud:
    config:
      name: consumer #对应你的配置文件名称
      uri: http://localhost:7001
      profile: test #对应配置文件的test、dev、pro
      label: master #对应git的branch
  • 因为我们已经将application.yml删除了,所以我们添加以下测试代码,测试我们是否连接上了配置中心。
@restcontroller
public class myfristconfigcontroller {
    
    @value("${server.port}")
    private string port ;
    
    @requestmapping(value="/getport", method=requestmethod.get)
    public string getport() {
        return port ;
    }
}