乐趣区

关于java:学习-Spring-Cloud-Config-从入门到精通

小小又开始学习了,这次学习的内容是 Spring Cloud 相干内容,这次学习的是 Config 相干的内容。
通过 git 实现分布式的配置文件的部署,达到更新 git,就能够更新配置信息的性能、

Server 端

增加相干 maven

这里配置 Server 端
增加相干的依赖

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

更新相干配置文件

server:
  port: 8080
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/meteor1993/SpringCloudLearning # git 仓库的地址
          search-paths: chapter6/springcloud-config  # git 仓库地址下的绝对地址,能够配置多个,用, 宰割。username: #Git 仓库用户名
          password: #Git 仓库明码

其中,uri 表明 git 的配置地址,search-paths 表明 git 相干的配置门路,这里应用 git 作为分布式的配置文件的存储

其配置文件的门路为

SpringCloudLearning/chapter6/springcloud-config/springcloud-config-pro.properties
拜访地址为 https://github.com/meteor1993/SpringCloudLearning/blob/master/chapter6/springcloud-config/springcloud-config-pro.properties

增加启动类相干的注解

这里增加 EnableConfigServer 类相干的注解,

用于激活 Spring Cloud 对配置核心的相干激活

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);
    }

}

这个时候拜访 http://localhost:8080/springcloud-config/pro 就能够实现对配置文件信息的拜访
其中 springcloud-config 为配置核心的文件名称。pro 为对应的相干的配置文件。
这里对应的相干的配置文件,命名有

springcloud-config-dev.properties  对应于 dev 开发模式
springcloud-config-pro.properties  对应于 pro 开发模式
springcloud-config-test.properties  对应于 test 开发模式

其拜访的 pro 更改为相干的配置类型即可

拜访成果

拜访连贯 http://localhost:8080/springcloud-config/pro 即可看到相干的配置信息

用户端

后面服务端曾经拜访实现,这里拜访客户端

新建子项目

增加相干的 maven

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
    <version>2.2.3.RELEASE</version>
</dependency>

增加配置文件

这里配置文件分为两个配置文件,别离为 application.yml 和 bootstrap.yml 这两个配置文件

application.yml

这里配置 application.yml 配置文件

server:
  port: 8081
spring:
  application:
    name: spring-cloud-config-client

再次配置 bootstrap.yml 文件

spring:
  cloud:
    config:
      name: springcloud-config
      profile: dev
      uri: http://localhost:8080/
      label: master

这样就实现了一次的配置文件书写。
其中 name 为配置 git 的 name,profile 对应于版本。url 对应于 server 的信息,label 对应于相干的分支。

增加启动类

package com.springcloud.configclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

}

增加配置信息读取类

增加配置信息的读取类

package com.springcloud.configclient.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: shiyao.wei
 * @Date: 2019/7/4 16:19
 * @Version: 1.0
 * @Desc:
 */
@RestController
public class HelloController {@Value("${springcloud.hello}")
    private String hello;

    @RequestMapping("/hello")
    public String from() {return this.hello;}
}

这样,就实现了配置信息的对立读取

退出移动版