学习 | Spring Cloud Config 从入门到精通

简介: 小小又开始学习了,这次学习的内容是Spring Cloud 相关内容,这次学习的是Config相关的内容。通过git完成分布式的配置文件的部署,达到更新git,就可以更新配置信息的功能、

小小又开始学习了,这次学习的内容是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;
    }
}

这样,就完成了配置信息的统一读取

目录
相关文章
|
5天前
|
XML Java 数据格式
从入门到精通:Spring基础注解的全面解析
从入门到精通:Spring基础注解的全面解析
22 2
从入门到精通:Spring基础注解的全面解析
|
28天前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
771 0
|
1月前
|
开发工具 git 微服务
【二十三】搭建SpringCloud项目六(Config)配置中心动态刷新
【二十三】搭建SpringCloud项目六(Config)配置中心动态刷新
18 0
|
1月前
|
Java 开发工具 git
【二十二】搭建SpringCloud项目六(Config)配置中心
【二十二】搭建SpringCloud项目六(Config)配置中心
32 0
|
2月前
|
Java 调度 开发工具
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
174 0
|
3月前
|
Java 应用服务中间件 数据格式
spring从入门到精通
spring从入门到精通
237 0
|
3月前
|
Java API Nacos
spring.config.import 是一个 Spring Cloud Config Server 的属性,
spring.config.import 是一个 Spring Cloud Config Server 的属性,【1月更文挑战第25天】【1月更文挑战第123篇】
50 1
|
3月前
|
druid Java 数据库连接
从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧
从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧
|
Java 开发工具 git
微服务SpringCloud之Spring Cloud Config配置中心Git
微服务SpringCloud之Spring Cloud Config配置中心Git 微服务以单个接口为颗粒度,一个接口可能就是一个项目,如果每个项目都包含一个配置文件,一个系统可能有几十或上百个小项目组成,那配置文件也会有好多,对后续修改维护也是比较麻烦,就和前面的服务注册一样,服务注册与发现是将服务从分散到中心化,而今天的配置中心是将配置文件从分散到中心化,这样便于后续维护。
1260 0
|
19天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
37 0