背景

前面我们整合了Nacos Config,并验证了动态配置刷新的效果了,现在我们来进一步学习一下Nacos Config的多环境配置和通用环境配置相关的内容

环境

Windows10
JDK1.8
IDEA2021
Maven2.6

下载安装Nacos

Windows安装Nacos

修改配置

基于上文的项目,进行修改

YML

spring:application:name: nacos-configcloud:nacos:config:server-addr: localhost:8848file-extension: ymlprofiles:active: prod

Nacos配置

注:Data Id = spring.application.name + [-spring.profile.active]. + file-extension

测试

下面从Nacos的不同环境配置进一步了解Nacos Config

生产环境

YML配置如上

启动项目,浏览器输入接口地址

测试环境

修改YML配置

spring:application:name: nacos-configcloud:nacos:config:server-addr: localhost:8848file-extension: ymlprofiles:active: test

Nacos新增test环境配置

重启项目

浏览器输入接口地址

公共环境

YML

spring:application:name: nacos-configcloud:nacos:config:server-addr: localhost:8848file-extension: ymlprofiles:active: test

Nacos新建公共配置,Data Id以spring.application.name命名

通用配置内容

修改接口,我们看是否能够在test环境下同时访问到通用配置内容

package com.nacos.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RefreshScope
public class NacosConfigController {@Value("${str}")private String str;@Value("${commonStr}")private String commonStr;@GetMapping("/")public String getConfig() {return str;}@GetMapping("/common")public String getCommonConfig() {return commonStr;}}

重启服务,访问接口地址

  • 测试环境配置

  • 公共环境配置

小结:即使是在测试环境下,也可以获取到公共的配置

共享环境

如果是想要用到其他的Nacos配置文件,要怎么处理?

下面在Nacos新建两个配置文件,如下

  • 共享Redis配置

  • 共享MQ配置

修改YML

spring:application:name: nacos-configcloud:nacos:config:server-addr: localhost:8848file-extension: ymlshared-configs[0]:data_id: redis.ymlrefresh: trueshared-configs[1]:data_id: mq.ymlrefresh: trueprofiles:active: test

修改接口,添加获取Redis和mq的接口

package com.nacos.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RefreshScope
public class NacosConfigController {@Value("${str}")private String str;@Value("${commonStr}")private String commonStr;@Value("${redis}")private String redis;@Value("${mq}")private String mq;@GetMapping("/")public String getConfig() {return str;}@GetMapping("/common")public String getCommonConfig() {return commonStr;}@GetMapping("/redis")public String getRedisConfig() {return redis;}@GetMapping("/mq")public String getMqCommonConfig() {return mq;}}

重启项目,浏览器输入对应接口地址

  • redis

  • mq

小结:在test环境下可以通过shared-configs[0]或者extension-configs[0]配置多个其他配置文件

项目代码

代码

SpringCloudAlibaba【四】Nacos Config 多环境切换与公共配置相关推荐

  1. SpringCloud Alibaba微服务实战(四) - Nacos Config 配置中心

    说在前面 Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.Nacos Config就是一个类似于SpringCloud Config的配置中心. 一.启动N ...

  2. (企业案例)Nacos Config 进阶使用

    文章目录 一.SpringBoot 使用 Nacos Config 实现多环境切换 1. 现象 2. 引入依赖 3. 添加bootstrap.yaml配置文件 4. 配置对应关系图 5. 文件格式简述 ...

  3. 【Spring-Cloud-Alibaba】Nacos配置中心

    Nacos配置中心 源码下载 https://yangjing191928.coding.net/public/spring-cloud-alibaba/spring-cloud-alibaba/gi ...

  4. Blade-demo之Nacos Config

    Nacos Nacos Config 需要在 bootstrap.properties 中配置 Nacos server 的地址和应用名 之所以需要配置 spring.application.name ...

  5. nacos 环境切换_Nacos多环境配置

    Nacos官网地址 nacos-server-1.3.2(我这里是下载的windows环境配置) 这里下载的是1.3.2的版本,其他环境启动命令请看官网 运行命令 startup.cmd -m sta ...

  6. 读取nacos_使用nacos配置多环境切换

    在程序开发,部署中,我们总要切换不同的环境,比如开发环境,测试环境,生成环境,或者预发布环境,如果每次都手动一个一个去改配置,重复劳动,耗费时间不说,还极有可能修改错误,那有没有好的方法切换不同环境的 ...

  7. SpringBoot多环境动态环境切换(nacos)

    目录 1. 环境变量切换 1.1 建立各环境配置文件 1.2 设置环境变量 2. nacos配置中心动态切换 2.1 配置文件 2.2 nacos配置 2.3 启动服务 3. 同一nacos环境下服务 ...

  8. Spring Cloud Alibaba - 18 Nacos Config配置中心加载相同微服务的不同环境下的通用配置

    文章目录 需求 实现 Step 1 Nacos Config 新增公共配置 Step 2 验证 配置文件优先级 源码 需求 举个例子,同一个微服务,通常我们的servlet-context 都是相同的 ...

  9. Spring Cloud Alibaba —— Nacos Config 配置中心

    导航 引言 一.什么是配置中心 二.常见的配置中心组件 三.Nacos Config 入门 四.Nacos Config 动态配置 4.1 硬编码方式(默认支持动态生效) 4.2 属性注入 五.配置共 ...

最新文章

  1. .net知识和学习方法系列(七)string类型
  2. 02-NVIDIA Jetson TX2 通过JetPack 3.1刷机完整版(踩坑版)
  3. 学习笔记(49):Python实战编程-place布局
  4. 支付宝 PEM routines:PEM_read_bio:no start line
  5. 厉害!中国AI企业50强榜单!看完员工待遇,网友:我酸了!
  6. java 树形图构建
  7. 天线下倾角示意图_《天线和下倾角.ppt
  8. BI软件应用在哪些方面
  9. [翻译]Scott Mitchell的ASP.NET2.0数据教程中文版索引(Canceled!!)
  10. Linux第一个正式版本,你安装的第一个Linux系统是什么版本的,成功没有啊?
  11. 前端技巧总结---持续更新
  12. 2020-12-22 ACM集训一(二维数组与结构体)
  13. 《失控》之五--共同进化
  14. 名编辑电子杂志大师教程 | 设置电子杂志的高宽比例
  15. XGBoost的目标函数推导和分裂增益计算
  16. CA认证及http实现方法
  17. 物流围城 让今年双11商家拿什么发货?
  18. 2021年四川高考成绩及录取结果查询,2021年四川高考录取状态查询系统,录取结果什么时候出来公布...
  19. 172.mybatisPlus的实际应用
  20. 计算机考试中粗实线,国开电大 计算机绘图(终结性考试)大作业答案

热门文章

  1. ubuntu14.10+QT4编写ARM9(mini2440)应用的配置与安装
  2. bzoj1022: [SHOI2008]小约翰的游戏John 博弈
  3. linux挂载 安装 fstab 详解
  4. Unity实现签到系统
  5. 蔡英珠:向前一步,跨越ICT“戈壁”
  6. KSO-sqlserver以逗号分隔,并进行转为多行
  7. KSO - sqlserver事务实现
  8. Feburary——766.托普利茨矩阵
  9. 解决Linux下无法利用shell脚本启动conda虚拟环境问题
  10. Win7系统服务优化攻略