spring cloud 快速上手系列 -> 02-配置中心 Config -> 022-Config客户端
spring cloud 快速上手系列
系列说明:快速上手,一切从简,搭建一个简单的微服务框架,让新手可以在这个基础框架上做各种学习、研究。
02-配置中心 Config
022-Config客户端
1,工程结构
做一个微服务,读取配置中心的内容。这个微服务,相对于配置中心Server来说,就是Config-Client了。
3,ConfigClient
1) 代码目录
2) 代码内容
- pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.3</version><relativePath/></parent><groupId>com.hui.study.cloud</groupId><artifactId>StudyConfigClient</artifactId><version>1.0.0-SNAPSHOT</version><properties><java.version>1.8</java.version><spring-cloud.version>2021.0.4</spring-cloud.version><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!-- spring cloud config 客户端 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><!--Spring Cloud 的 eureka-client 起步依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><!--spring web 起步依赖 ,这个不能删--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>
- application.yml
server:port: 6002 #Config-Client的端口号
demo:name: "demo default"
- bootstrap.yml
spring:profiles:active: dev #激活开发环境的配置文件application:name: config-clientcloud:config:label: master#开发环境profile: dev#从Eureka中发现配置中心discovery:enabled: true#指定配置中心的application.nameservice-id: config-server
eureka:client:#表示是否将自己注册进EurekaServerregister-with-eureka: true#是否从EurekaServer抓取已有的注册信息,默认为true。fetchRegistry: trueservice-url:#服务中心地址defaultZone: http://localhost:7001/eureka
此处直接从注册中心获取配置中心的地址。这就是注册中心的作用。
bootstrap.yml比application.yml先装载
application.yml里面的demo.name,是默认配置,不配置的话启动会失败。
- CloudConfigClientApplication.java
package com.hui.study.cloud.config;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
/*** 配置中心客户端*/
public class CloudConfigClientApplication {public static void main(String[] args) {SpringApplication.run(CloudConfigClientApplication.class, args);}
}
- DemoController.java
package com.hui.study.cloud.config.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 被调用的demo*/
@RestController
@RequestMapping("/demo")
public class DemoController {@Value("${demo.name}")private String name;@RequestMapping("/name")public String name() {return name;}
}
读取 demo.name的内容
3) 启动
注册中心、配置中心都正常启动
执行 CloudConfigClientApplication.java
启动成功后,访问 http://localhost:7001
CONFIG-CLIENT已经注册上来了
4)调用
用apifox或postman访问:http://localhost:6002/demo/name
可以看到,我们已经访问到了git的config-client-dev.yml里面的内容,而不是application.yml里的默认配置了。
4,代码及作业
链接:https://pan.baidu.com/s/1Fd4DIVa3_qdk-wl_dDoI_Q?pwd=enk7
提取码:enk7
链接:https://pan.baidu.com/s/1nx5PYQkcal9-Hm6O9EwABg?pwd=pg85
提取码:pg85
作业:
1、配置中心启动两个节点(用6002端口再起一个)
2、增加一个demo.from 配置,并在 config-client 中用接口获取
5,遗留问题
配置中心读取git文件,只是在启动的时候获取的。
后面我们引入spring cloud bus,可以解决热加载问题。
spring cloud 快速上手系列 -> 02-配置中心 Config -> 022-Config客户端相关推荐
- spring cloud 快速上手系列 -> 04-网关 Gateway -> 041-空的工程
spring cloud 快速上手系列 系列说明:快速上手,一切从简,搭建一个简单的微服务框架,让新手可以在这个基础框架上做各种学习.研究. 04-网关 Gateway 041-空的工程 1,说明 网 ...
- Spring Cloud第六章:配置中心Config
在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件.它就是Spring Cloud Config. 一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管 ...
- Spring Boot、Spring Cloud 自定义配置文件(如何整合配置中心)
文章目录 Spring Boot配置 简单测试使用 Spring Cloud自定义配置文件获取 1. 引入依赖 2. 自定义配置 2.1 自定义PropertySource,这里我们直接使用Sprin ...
- Spring Cloud(七):配置中心
Spring Cloud Config项目是一个解决分布式系统的配置管理方案.它包含了Client和Server两个部分,server提供配置文件的存储.以接口的形式将配置文件的内容提供出去,clie ...
- Spring Cloud Alibaba —— 服务注册与配置中心
- spring cloud nacos_SpringCloud Alibaba系列之Nacos配置中心玩法
欢迎关注头条号:老顾聊技术 精品原创技术分享,知识的组装工 目录 前言 新建配置 改造应用 历史配置 重要的概念 总结 前言 前几篇介绍了SpringCloud Alibaba的Nacos相关知识,介 ...
- Spring Cloud微服务系列文,服务调用框架Feign
之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON. 这种 ...
- Spring Cloud微服务系列-Eureka Client源码解析(二)
导语 上一篇博客中介绍了关于Eureka Client源码的基础部分,如果对于基础部分不是很了解的读者可以点击下面的连接进入到源码分析一中,从头开始学习 Spring Cloud微服务系列 Dis ...
- 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 将微服务运行在Docker上
文章目录 将微服务运行在Docker上 使用Maven插件构建Docker镜像 使用Maven插件读取Dockerfile进行构建 将插件绑定在某个phase执行 参考 源代码 将微服务运行在Dock ...
最新文章
- 在这个智能数字时代,处处拉拢着我们的视线,那么低头一族可还记得儿时上学的45分钟吗?劳逸结合,多动动!...
- Zerodium 称 iOS exploit 过剩,将暂停收购且买价或下跌
- Redis在Window的启动方式(包括安装包也送)
- python全栈自动化测试工程师第11期柠檬班vip_因为Python,班主任最近都开始化妆了!...
- 易语言linux静态编译失败,易语言静态编译连接失败
- 五笔字根表识别码图_五笔字根识别码学习
- 基于LabView开发的串口助手
- 如果显示直播连接不成功问题
- 20175312陶光远 与 20175309刘雨恒 结对
- 清华大学胡事民是计算机视觉,ResNet也能用在3D模型上了,清华「计图」团队新研究已开源...
- Trojan-Qt5一个纯净安装是必须的
- Java后端基础知识笔记
- Xposed原理简介及其精简化
- AndroidVideoCache 原理
- 黑客美化版大马_2012版
- seetaface 使用总结
- python3GUI--微博图片爬取工具(附源码)
- 计算机二级答题题库云计算,2018年计算机二级考试MSOffice试题及答案三
- 实时加载 Flex 皮肤
- linux 磁盘管理 阵列,Linux 磁盘管理~~~~RAID1