spring cloud config更新配置

在开发微服务时,往往需要有开发环境、测试环境和生产环境,手动修改配置环境是一件很麻烦的事情,因此,这里使用spring cloud config管理配置环境。要使用spring cloud config,需要先在GitHub搭建一个仓库。

一、仓库搭建

  1. 创建访问令牌:
    仓库搭建成功后,点击右上角头像 → Settings → 左侧导航栏 → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → Generate new token (classic),会生成一个"ghp_"开头的个人访问令牌。该令牌只会出现一次,需要尽快复制保存。之后会在配置文件里使用该令牌。
  2. 配置仓库文件
    在仓库界面点击“Add file—>Create new file”添加文件,如果要创建文件夹,在文件名后面加上“/”即可,如图:
    添加文件或文件夹
    文件名称的格式为“spring.application.name的名称-profile”,例如,假如name是abc,profile是dev,则文件名称是abc-dev.yml

二、服务创建

spring cloud config是一个独立的微服务,该业务功能需要在主启动类的上面添加@EnableConfigServer。此外,还需要在pom.xml添加以下依赖文件:

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId></dependency>

添加完成后,在application.yaml里添加以下配置:

server:port: 8888spring:application:name: configServercloud:config:server:git:uri: https://github.com/xxx.gitusername: GitHub用户password: ghp_开头的令牌default-label: main		/默认在哪个分支进行配置搜索search-paths:- userClient	#GitHub仓库里的文件夹- gatewayclone-on-start: trueprofiles:active:- dev

三、启用对应配置

配置完成后,在需要进行环境管理的微服务application.yaml里添加以下配置:

spring:config:import: "configserver:http://localhost:8888"  # 指向 Config Server 地址application:name: userClient  # 客户端应用名(对应 Config Server 中的 {application})profiles:active: dev         # 环境(对应 Config Server 中的 {profile})
management:endpoints:web:exposure:include: refresh

这里我使用的是在文件夹userClient下面的userClient-dev.yml配置文件,所以name为userClient,active写dev,如图:
在这里插入图片描述

四、测试

配置完成后,可以在浏览器访问 localhost:8888/应用名称/{profile}/分支进行测试。例如,我要测试userClient-dev.yml是否有正确配置,可以访问 localhost:8888/userclient/dev/main,正常情况下有如下json数据结构显示:

{"name": "userClient","profiles": ["dev"],"label": "main","version": "28ce72e805936d22c73fc61091b51b85bf8ec5b0","state": "","propertySources": [{"name": "https://github.com/xxx.git/userClient/userClient-dev.yml","source": {"server.port": 8120,"spring.application.name": "userClient","spring.lifecycle.timeout-per-shutdown-phase": "30s","spring.datasource.url": "jdbc:mysql://localhost:3306/personal_management_system?useSSL=false&serverTimezone=UTC&characterEncoding=utf8","spring.datasource.username": "name","spring.datasource.password": "abcdefg","spring.datasource.driver-class-name": "com.mysql.cj.jdbc.Driver","spring.jpa.hibernate.ddl-auto": "update","spring.jpa.show-sql": true,"spring.devtools.restart.enabled": true,"spring.devtools.restart.additional-paths": "src/main","spring.devtools.restart.exclude": "WEB-INF/**","spring.freemarker.cache": false,"eureka.client.serviceUrl.defaultZone": "http://localhost:8761/eureka","eureka.instance.instance-id": "userClient-service","eureka.instance.prefer-ip-address": true}}]
}

该结构显示的是该yml文件的相关配置内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/81957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 5.7 实战:JSON 字段提取、Base64 解码与引号问题全解析

一、背景与问题场景 在 MySQL 数据库中&#xff0c;存储 JSON 格式数据&#xff08;如用户行为日志、配置参数、扩展信息&#xff09;的场景日益普遍。当需要从 JSON 字段中提取特定键值&#xff08;如info&#xff09;并进行 Base64 解码时&#xff0c;常遇到以下问题&#x…

自研Rise系列之BI简单易用的大屏系统

BI系统是制作可视化大屏报表的常用工具之一&#xff0c;因其具备实时更新、综合分析多来源数据、直观展现分析结果、支持多维自助分析等特点而广受欢迎。在BI系统上设计制作可视化大屏后&#xff0c;只需接入大屏硬件即可&#xff0c;因此BI系统的选择就成了重中之重。 在可视化…

飞桨paddle import fluid报错【已解决】

跟着飞桨的安装指南安装了paddle之后 pip install paddlepaddle有一个验证&#xff1a; import paddle.fluid as fluid fluid.install check.run check()报错情况如下&#xff0c;但是我在pip list中&#xff0c;确实看到了paddle安装上了 我import paddle别的包&#xff0c…

第18天-NumPy + Pandas + Matplotlib多维度直方图

示例1:带样式的柱状图 python 复制 下载 import numpy as np import pandas as pd import matplotlib.pyplot as plt# 生成数据 df = pd.DataFrame(np.random.randint(10, 100, size=(8, 4)),columns=[Spring, Summer, Autumn, Winter],index=[2015, 2016, 2017, 2018, 20…

关于 Web 安全实践:4. 文件上传功能的风险分析与防护

定义&#xff1a;文件上传风险点是指应用程序允许用户上传文件&#xff0c;但没有严格校验上传文件的类型、内容、路径等属性&#xff0c;导致攻击者可以上传并执行恶意代码。 绕过方式&#xff1a; 前端绕过 1. 前端限制的原理 前端限制上传文件类型的常见方式有三种&#…

升级SpringBoot2到3导致的WebServices升级

背景 WebServices 是基于开放标准&#xff08;XML、SOAP、HTTP 等&#xff09;的 Web 应用程序&#xff0c;它们与其他 Web 应 用程序交互以交换数据。WebServices 可以将您现有的应用程序转换为 Web 应用程序。 老代码中有一个19年前的包&#xff0c;由于漏洞原因&#xff0c;…

Vue3中插槽, pinia的安装和使用(超详细教程)

1. 插槽 插槽是指, 将一个组件的代码片段, 引入到另一个组件。 1.1 匿名插槽 通过简单的案例来学习匿名插槽&#xff0c;案例说明&#xff0c;在父组件App.vue中导入了子组件Son1.vue&#xff0c;父组件引用子组件的位置添加了一个片段&#xff0c;比如h2标签&#xff0c;然…

【Redis】AOF日志

目录 1、背景2、工作原理3、核心配置参数4、优缺点5、AOF文件内容 1、背景 AOF&#xff08;Append Only File&#xff09;是redis提供的持久化机制之一&#xff0c;它通过记录所有修改数据库状态的写命令来实现数据库持久化。与RDB&#xff08;快照&#xff09;方式不同&#…

【HTTP】connectionRequestTimeout与connectTimeout的本质区别

今天发现有的伙伴调用第三方 httpclient 的配置中 connectTimeout 和 connectionRequestTimeout 配置的不到 1 S&#xff0c;问了一下他&#xff0c;知不知道这两个参数的意思&#xff0c;他说不知道。那我们今天就来了解一下这两个参数的区别 一、核心概念解析 1.1 connectT…

react中运行 npm run dev 报错,提示vite.config.js出现错误 @esbuild/win32-x64

在React项目中运行npm run dev时&#xff0c;如果遇到vite.config.js报错&#xff0c;提示esbuild/win32-x64在另一个平台中被使用&#xff0c;通常是由于依赖冲突或缓存问题导致的。解决方法是删除node_modules文件夹&#xff0c;并重新安装依赖。 如下图&#xff1a; 解决办…

EMQX开源版安装指南:Linux/Windows全攻略

EMQX开源版安装教程-linux/windows 因最近自己需要使用MQTT&#xff0c;需要搭建一个MQTT服务器&#xff0c;所以想到了很久以前用到的EMQX。但是当时的EMQX使用的是开源版的&#xff0c;在官网可以直接下载。而现在再次打开官网时发现怎么也找不大开源版本了&#xff0c;所以…

Python:操作Excel按行写入

Python按行写入Excel数据,5种实用方法大揭秘! 在日常的数据处理和分析工作中,我们经常需要将数据写入到Excel文件中。Python作为一门强大的编程语言,提供了多种库和方法来实现将数据按行写入Excel文件的功能。本文将详细介绍5种常见的Python按行写入Excel数据的方法,并附上…

vue3中RouterView配合KeepAlive实现组件缓存

KeepAlive组件缓存 为什么需要组件缓存代码展示缓存效果为什么不用v-if 为什么需要组件缓存 业务需求&#xff1a;一般是列表页面通过路由跳转到详情页&#xff0c;跳转回来时&#xff0c;需要列表页面展示上次展示的内容 代码展示 App.vue入口 <script setup lang"…

【JAVA】比较器Comparator与自然排序(28)

JAVA 核心知识点详细解释 Java中比较器Comparator的概念和使用方法 概念 Comparator 是 Java 中的一个函数式接口,位于 java.util 包下。它用于定义对象之间的比较规则,允许我们根据自定义的逻辑对对象进行排序。与对象的自然排序(实现 Comparable 接口)不同,Comparat…

浪潮服务器配置RAID和JBOD

目录 1 配置RAID2 设置硬盘为JBOD模式3 验证结果 1 配置RAID 进入 bios 界面 选择 “高级” - “UEFI-HII配置” 选择 raid 卡 进入 Main Menu 点击 Driver Management&#xff0c;可以查询当前硬盘 返回上一级&#xff0c;点击 Configuration Management - Create virtu…

mongodb管理工具的使用

环境&#xff1a; 远程服务器的操作系统&#xff1a;centOS stream 9; mongoDB version:8.0; 本地电脑 navicat premium 17.2 ; 宝塔上安装了mongoDB 目的&#xff1a;通过本地的navicat链接mongoDB,如何打通链接&#xff0c;分2步&#xff1a; 第一步&#xff1a;宝塔-&…

03-Web后端基础(Maven基础)

1. 初始Maven 1.1 介绍 Maven 是一款用于管理和构建Java项目的工具&#xff0c;是Apache旗下的一个开源项目 。 Apache 软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&#xff0c;也是一个专门为支持开源项目而生的非盈利性…

实景VR展厅制作流程与众趣科技实景VR展厅应用

实景VR展厅制作是一种利用虚拟现实技术将现实世界中的展览空间数字化并在线上重现的技术。 这种技术通过三维重建和扫描等手段&#xff0c;将线下展馆的场景、展品和信息以三维形式搬到云端数字空间&#xff0c;从而实现更加直观、立体的展示效果。在制作过程中&#xff0c;首…

Python爬虫实战:获取天气网最近一周北京的天气数据,为日常出行做参考

1. 引言 随着互联网技术的发展,气象数据的获取与分析已成为智慧城市建设的重要组成部分。天气网作为权威的气象信息发布平台,其数据具有较高的准确性和实时性。然而,人工获取和分析天气数据效率低下,无法满足用户对精细化、个性化气象服务的需求。本文设计并实现了一套完整…

几种超声波芯片的特点和对比

一 CX20106A ZIP - 8 CX20106A ZIP - 8 的核心竞争力在于高性价比、易用性和抗光干扰能力&#xff0c;尤其适合消费电子、短距离工业检测和低成本物联网场景。尽管在距离和精度上不及高端芯片&#xff0c;但其成熟的电路方案和广泛的市场应用&#xff08;如经典红外遥控升级为超…