个人名片:

博主:酒徒ᝰ.
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:三人行,必有我师焉。


本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看

目录

  • 一、统一配置管理
    • 1.启动nacos
    • 2.nacos添加
    • 3.IDEA 操作
  • 二、热更新
    • 方法一:在controller类中直接加入@RefreshScope注解
    • 方法二:使用@ConfigurationProperties注解
  • 三、多环境配置共享(简略)
    • 1.创建共享nacos配置
    • 2.设置共享配置
  • 四、集群搭建
  • 五、异常解决

一、统一配置管理

1.启动nacos

在nacos的bin目录下,鼠标在空白处右击,在终端打开。

输入指令:.\startupup.cmd -m standalone

2.nacos添加

按照下图进行添加即可。

3.IDEA 操作

  1. 引入依赖

nacos中配置的是userservice-dev.yaml,所有以下操作在user-service模块中进行。

<!--nacos配置管理依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  1. bootstrap.yml文件
spring:application:name: userservice # 服务名称profiles:active: dev # 环境cloud:nacos:server-addr: localhost:8848 # nacos地址config:file-extension: yaml # 文件后缀名
  1. 属性注入
package cn.itcast.user.web;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;@RestController
@RequestMapping("/user")
public class UserController {@Value("${pattern.dateformat}")private String dateformat;@GetMapping("/now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(properties.getDateformat()));}/*省略...*/
}

4.测试

  • 访问路径

http://localhost:8081/user/now

  • 访问结果

二、热更新

此时,当我们修改nacos中的配置上,还需要重新启动服务才可以生效。
目的:我们需要修改nacos中的配置后,直接生效。

方法一:在controller类中直接加入@RefreshScope注解

import org.springframework.cloud.context.config.annotation.RefreshScope;@RefreshScope
public class UserController {//...省略
}

方法二:使用@ConfigurationProperties注解

1.创建一个新的模块config并在其中创建新的类PatternProperties。

2.PatternProperties类中写入代码

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;
}

3.修改Controller中的代码,前面创建PatternProperties类后,将nacos的配置移入新的类中,这里需要调用新的类来获取,便于热更新。

package cn.itcast.user.web;import cn.itcast.user.config.PatternProperties;
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()));}
}

三、多环境配置共享(简略)


优先级:[服务名]-[profile].[yaml] > [服务名].[yaml] > [本地配置]

1.创建共享nacos配置


此时,无论**[服务名]-[profile].[yaml]中的profile如何改变,[服务名].[yaml] **一定会加载。

  • 修改profile

在需要修改的service上右键选择Edit

在Active profiles中输入修改后的profile值。

2.设置共享配置

1.方法一:extension-configs

spring:cloud:nacos:config:extension-configs:- extend.yaml

2.方法二:shared-configs

spring:cloud:nacos:config:shared-configs:- common.yaml

四、集群搭建

nacos集群搭建.md

五、异常解决

1.未启动nacos服务器,报Connection refused: connect异常,如下。

按照正确操作启动nacos即可。

SpringCloud2——Nacos配置管理相关推荐

  1. springboot nacos配置中心_SpringBoot开发案例之Nacos配置管理中心

    前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...

  2. Nacos配置管理模型

    对于Nacos配置管理,通过Namespace.group.Data ID能够定位到一个配置集. 配置集(Data ID) 在系统中,一个配置文件通常就是一个配置集,一个配置集可以包含了系统的各种配置 ...

  3. Nacos配置管理-微服务配置拉取

    从微服务拉取配置 微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动. 但如果尚未读取application.yml,又如何得知nacos地址呢? ...

  4. Nacos配置管理-Nacos实现配置管理

    Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用. 统一配置管理 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一种统 ...

  5. nacos配置中心使用_SpringBoot开发案例Nacos配置管理中心

    前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...

  6. java微服务Nacos配置管理

    介绍Nacos配置管理 Nacos 提供了动态配置服务,能让我们可以实时进行服务应用的配置变更,让配置管理变得更加高效和快捷.它基于 key/value 方式存储应用配置和其他元数据信息,为分布式系统 ...

  7. Nacos 配置管理

    一.什么是配置中心 1.什么是配置 应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数.启动参数等. 配置主要有以下几个特点: (1).配 ...

  8. Nacos(第一篇)_Springboot2.x+Nacos配置管理中心

    前言 在开发过程中,我们通常会配置一些参数来实现某些功能,如:开启某些服务,邮箱通知,短信通知等:一般在这个时候,我们都是通过硬编码来实现.配置文件或数据库实现. Nacos 配置管理 Nacos 是 ...

  9. 【微服务】Nacos 配置管理模块

    目录 一.Nacos 配置管理模块 1.配置⼀致性模型 2.Server 间的⼀致性协议 2.1.有 DB 模式(读写分离架构) 2.2.无 DB 模式 3.SDK 与 Server 的⼀致性协议 3 ...

最新文章

  1. python deque双端队列的神奇用法
  2. 全球顶级设计师云集天猫双11 超1000款时尚大牌新品首发
  3. 网页加速系列(五)、 网页加速之进阶上篇
  4. 一行代码完成js对象数组的深拷贝
  5. spring启动加载流程
  6. C++ new delete(二)
  7. Java big file debug - random access
  8. BeetleX使用bootstrap5开发SPA应用
  9. PHP mongodb运用,MongoDB在PHP下的应用学习笔记
  10. arch linux 入门,arch linux 从来就不是给新手入门用的
  11. SpringBoot+Redis+Cookies实现高并发的购物车
  12. GridView控件 Reapter控件 DataList控件 的区别和用法
  13. ddpush java_DDPush-任意门消息推送-开源推送服务器-推送-消息推送-信息推送-物联网推送...
  14. 学习笔记-B/S - Exploits
  15. 机器学习复盘(2):机器学习主要应用场景及典型案例
  16. 搞线上渠道推广实操这么些年了
  17. 2.12父子进程通过匿名管道通信
  18. K2 blackpearl 安装
  19. 利用模块化的可扩展参考设计瞄准ATCA和AMC市场机会
  20. R语言环境下Bioconductor安装2020-10-31

热门文章

  1. html第三天之音乐盒
  2. 电脑上如何打开php文件怎么打开方式,电脑怎么打开php文件
  3. day6-Boosting
  4. 一文最全总结之Spring从入门到入土(上)
  5. win10服务器停止响应怎么办,Win10 键鼠经常性停止响应
  6. 真·撼于心——三星重磅发布2020款QLED 8K电视Q950TS
  7. win11系统右键菜单修改win10风格 Win11右键菜单修改成win10教程
  8. vue页面使用多个定时器
  9. 腾讯全球合伙人大会召开,划出重点,喊话B端客户
  10. 项目在IDEA里导不出war包