当前位置: 首页 > news >正文

【SpringCloud微服务实战04】Nacos 配置中心

一、Nacos配置添加

 

二、Nacos配置读取

1、引入Nacos的配置管理客户端依赖: 

<!--nacos配置管理依赖-->
<dependency>   <groupId>com.alibaba.cloud</groupId>    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2、在客户端服务中的resource目录添加bootstrap.yml 引导文件,添加配置如下:(优先级高于application.yml)

spring:application:name: userserviceprofiles:active: dev #环境cloud:nacos:server-addr: localhost:8848 #nacos地址config:file-extension: yaml #文件后缀名

3、客户端服务中读取Nacos配置信息:

@RestController
@RequestMapping("/user")
public class UserController {//注入nacos中的配置属性    @Value("${pattern.dateformat}")    private String dateformat; // 编写controller,通过日期格式化器来格式化现在时间并返回    @GetMapping("now")    public String now(){        return LocalDate.now().format(                    DateTimeFormatter.ofPattern(dateformat, Locale.CHINA));}// ... 略
}

三、Nacos配置热更新

修改配置后,客户端调用自动更新

1、方式一:在@Value注入的变量所在类上添加注解@RefreshScope

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {@Autowiredprivate UserService userService;@Value("${pattern.dateformat}")private String dateformat;//......
}

 2、方式二:使用@ConfigurationProperties注解,加载属性配置:

添加配置类:

package cn.itcast.user.config;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {private String dateformat;
}

使用:

package cn.itcast.user.web;import cn.itcast.user.config.PatternProperties;
import cn.itcast.user.pojo.User;
import cn.itcast.user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate PatternProperties properties;@GetMapping("now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(properties.getDateformat()));}}

四、Nacos多环境配置共享

配置优先级:

 [服务名].yaml 为默认配置,可以用来配置多环境共享。

不同微服务之间可以共享配置文件,通过两种方式指定:

方式一:

spring:  application:    name: userservice # 服务名称  profiles:active: dev # 环境,  cloud:    nacos:      server-addr: localhost:8848 # Nacos地址      config:         file-extension: yaml # 文件后缀名        shared-configs: # 多微服务间共享的配置列表          - dataId: common.yaml # 要共享的配置文件id

方式二:

spring:  application:    name: userservice # 服务名称  profiles:active: dev # 环境,  cloud:    nacos:      server-addr: localhost:8848 # Nacos地址      config:         file-extension: yaml # 文件后缀名        extends-configs: # 多微服务间共享的配置列表          - dataId: extend.yaml # 要共享的配置文件id

相关文章:

【SpringCloud微服务实战04】Nacos 配置中心

一、Nacos配置添加 二、Nacos配置读取 1、引入Nacos的配置管理客户端依赖&#xff1a; <!--nacos配置管理依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</arti…...

无雀新功能宣传板之视频直播+Teambition

1. 今日新功能 钉钉视频会议新功能 视频会议功能&#xff0c;打造了一系列独具特色的通话海报模板供用户选择。其中引人瞩目的是为龙年限定的新春主题通话海报&#xff0c;它巧妙地融入了中国传统文化元素&#xff0c;将庄重且喜庆的龙年新春气息浓缩在画面之中。 自定义通话…...

学生选课系统的最简逻辑--一个学生选一门课

需求&#xff1a;设计一个学生选课系统&#xff0c;要求如下&#xff1a;有一个学生类&#xff0c;有一个课程类&#xff0c;还有一个Teacher类。。学生类包括姓名、学号、已选课程。课程类包括课程名称、授课老师属性。 老师包括老师的名字、老师的电话&#xff0c;老师的课程…...

波司登高德康:以有“韧性”的创新应变市场新浪潮

伴随着消费升级&#xff0c;羽绒服市场需求日益旺盛。愈发多元化的需求对于企业发展也有着更高的要求。如何更好推动行业多元化发展&#xff0c;可以从波司登的品牌升级、产品创新、模式创新、数字技术创新、绿色发展创新等方面窥得一二。 高德康总裁接受新华网主持人采访 对此…...

装饰你的APP:使用Lottie-Android创建动画效果

1. Lottie-Android简介 Lottie-Android是一个强大的开源库,由Airbnb开发,旨在帮助开发者轻松地在Android应用中添加高质量的动画效果。它基于Adobe After Effects软件中的Bodymovin插件,通过解析导出的JSON文件来渲染并播放复杂的矢量动画。 Lottie-Android提供了许多令人…...

成都爱尔林江院长解析巩膜镜是什么?它适合哪些人群

巩膜镜&#xff0c;全称为硬性透氧性巩膜接触镜&#xff0c;它有着特殊设计&#xff0c;大直径镜片像桥梁一样呈拱形覆盖角膜及角巩膜缘&#xff0c;从角膜上方横跨而过完全无接触、无任何机械性摩擦&#xff0c;最终贴合于巩膜。 巩膜镜的作用原理 光学成像&#xff1a; 配戴…...

苹果cms模板保护设置,防止被扒

苹果cms模板保护设置&#xff0c;防止被扒 如今互联网时代&#xff0c;网站模板前端被扒是常有的事&#xff0c;如何防止模板数据被扒&#xff1f; 保护设置方法&#xff1a; 登录宝塔 找到安装模板的网站 设置禁止访问文件 方法参考截图后缀填&#xff1a;php|html 目录填&a…...

Claude3、GPT-4、Gemini、Sora VS :谁将成为下一代科研利器?

2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…...

vue 函数防抖

背景 一个页面使用监听器&#xff0c;监听了页面的三个参数&#xff0c;页面初始化的时候&#xff0c;三个参数都发生了变化。发送了三次请求&#xff0c;页面却使用的是第二次请求的数据。希望短时间内发生多次变化的时候&#xff0c;只发送一次请求 思路 这个需求可以通过使用…...

WordPress建站入门教程:如何创建菜单和设置前端导航菜单?

前面我们跟大家分享了WordPress如何上传安装WordPress主题&#xff0c;但是启用主题后前端没有看到有导航菜单&#xff0c;这是因为我们还没有创建菜单和设置导航菜单。 JianYue主题导航菜单和右上角菜单 今天boke112百科就继续跟大家分享WordPress站点如何创建菜单和设置前端…...

Rust:为 Trait 定义默认的方法

当你提到“指定 trait 的实现”并使用 :: 符号时&#xff0c;你可能是指在某些情况下&#xff0c;你想直接通过 trait 而不是具体的类型来调用方法。这在 trait 提供了默认方法实现时尤其有用&#xff0c;因为你可以不依赖任何具体的类型实现来调用这些方法。 然而&#xff0c…...

掌握Redis,看完这篇文章就够了

一&#xff0c;数据库的配置 内存数据库 MySQL与mongodb都是以文件的形式存储在磁盘上的 redis数据在内存中&#xff0c;操作内存的速度远远高于磁盘并且redis数据最终也可以存储在磁盘上 redis的存储结构为简直存储数据库类似于python中的字典的存储方式 redis的服务器与客户…...

烟火识别检测摄像头-火焰烟雾智能检测预警系统---豌豆云

火焰烟雾智能检测预警系统利用现场已有的监控摄像头&#xff0c;火焰烟雾智能检测预警系统对监控区域内的烟雾和火焰进行识别。 这种识别技术不仅准确率高&#xff0c;而且速度快&#xff0c;能够在短时间内对大量的视频数据进行处理和分析。 同时&#xff0c;该系统还能够动…...

js【详解】Promise

为什么需要使用 Promise &#xff1f; 传统回调函数的代码层层嵌套&#xff0c;形成回调地狱&#xff0c;难以阅读和维护&#xff0c;为了解决回调地狱的问题&#xff0c;诞生了 Promise 什么是 Promise &#xff1f; Promise 是一种异步编程的解决方案&#xff0c;本身是一个构…...

八股文-持续更新......

文章目录 SpringSpringBootDubboMQMysqlNettyRedis并发ZookeeperMybatisElasticsearchLinux微服务ZookeeperMybatisElasticsearchLinux...

Redis 大key和热key问题及处理

一、说说什么是Redis、及特点&#xff1f; Redis是一个基于内存存储数据运行并支持持久化、使用key/value形式存储的高性能的nosql数据库&#xff0c;适合用于存储频繁访问&#xff0c;数据量较小的场景下。 特点&#xff1a; 支持数据持久化&#xff1a;可以将内存中的数据保…...

SpringBoot中RestTemplate 发送http请求

SpringBoot中RestTemplate 发送http请求 引入fastjson <!--fastjson--> <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.47</version> </dependency>创建配置文件 新建c…...

HTTP有什么缺陷,HTTPS是怎么解决的

缺陷 HTTP是明文的&#xff0c;谁都能看得懂&#xff0c;HTTPS是加了TLS/SSL加密的&#xff0c;这样就不容易被拦截和攻击了。 SSL是TLS的前身&#xff0c;他俩都是加密安全协议。前者大部分浏览器都不支持了&#xff0c;后者现在用的多。 对称加密 通信双方握有加密解密算法…...

OWASP Top 10 网络安全10大漏洞——A02:A02:2021-加密机制失效

10大Web应用程序安全风险 2021年top10中有三个新类别、四个类别的命名和范围变化&#xff0c;以及一些合并。 A02&#xff1a;A02:2021-加密机制失效 上升一个位置&#xff0c;当前top2&#xff0c;以前称为敏感数据泄露&#xff0c;是一种状况而不是根本原因。更新后的类别…...

2024-3-11-C++作业

1>试编程 要求&#xff1a; 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 源代码: #include <iostream>using namespace std;int main() {string s;cout << "请输入字符串&#xff1a;"…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...