前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习 | Spring Cloud Config 从入门到精通

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

原创
作者头像
mySoul
修改2020-07-27 10:53:48
5400
修改2020-07-27 10:53:48
举报
文章被收录于专栏:mySoulmySoul

小小又开始学习了,这次学习的内容是Spring Cloud 相关内容,这次学习的是Config相关的内容。

通过git完成分布式的配置文件的部署,达到更新git,就可以更新配置信息的功能、

Server端

添加相关maven

这里配置Server端

添加相关的依赖

代码语言:txt
复制
 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

更新相关配置文件

代码语言:txt
复制
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作为分布式的配置文件的存储

其配置文件的路径为

代码语言:txt
复制
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 对配置中心的相关激活

代码语言:txt
复制
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为对应的相关的配置文件。

这里对应的相关的配置文件,命名有

代码语言:txt
复制
springcloud-config-dev.properties  对应于dev开发模式
springcloud-config-pro.properties  对应于pro开发模式
springcloud-config-test.properties  对应于test开发模式

其访问的pro更改为相关的配置类型即可

访问效果

访问连接 http://localhost:8080/springcloud-config/pro 即可看到相关的配置信息

用户端

前面服务端已经访问完成,这里访问客户端

新建子项目

添加相关的maven

代码语言:txt
复制
<!-- 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 配置文件

代码语言:txt
复制
server:
  port: 8081
spring:
  application:
    name: spring-cloud-config-client

再次配置bootstrap.yml 文件

代码语言:txt
复制
spring:
  cloud:
    config:
      name: springcloud-config
      profile: dev
      uri: http://localhost:8080/
      label: master

这样就完成了一次的配置文件书写。

其中name为配置git的name,profile对应于版本。url对应于server的信息,label对应于相关的分支。

添加启动类

代码语言:txt
复制
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);
    }

}

添加配置信息读取类

添加配置信息的读取类

代码语言:txt
复制
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;
    }
}

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Server端
    • 添加相关maven
      • 更新相关配置文件
        • 添加启动类相关的注解
          • 访问效果
          • 用户端
            • 新建子项目
              • 添加相关的maven
                • 添加配置文件
                  • application.yml
                  • 再次配置bootstrap.yml 文件
                • 添加启动类
                  • 添加配置信息读取类
                  相关产品与服务
                  微服务引擎 TSE
                  微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档