关于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;
    }
}

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理