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

Spring Cloud Alibaba快速入门02-Nacos配置中心(下)

文章目录

  • 前言
  • 配置中心 - 数据隔离
  • 示例
    • 1.先创建命名空间
    • 2.创建配置
    • 3.克隆配置
    • 4.动态切换环境
    • 5.yml多文档模式
      • spring.profiles.active=dev
      • spring.profiles.active=test
  • 总结


在这里插入图片描述

前言

上一章简单了解了Nacos配置中心的基本用法,这一章将开始Nacos配置中心的实战案例。

配置中心 - 数据隔离

在这里插入图片描述
在Nacos配置中心里面一个命名空间对应多个组,一个组对应多个Data Id
在这里插入图片描述
使用Dataid区分多套配置
使用分组区分多种微服务
使用Namespace(名称空间)区分多套环境

示例

1.先创建命名空间

在这里插入图片描述
在这里插入图片描述
创建好命名空间后,在配置列表中也可以看到命名空间
在这里插入图片描述

2.创建配置

点击创建配置
order组通用配置common.properties,填写好点击发布

order.timeout=1min
order.auto-confirm=1h

在这里插入图片描述
order组数据库配置database.properties

order.db-url=order_dev

在这里插入图片描述

3.克隆配置

创建完成后,勾选需要克隆的配置点击克隆
在这里插入图片描述
选择需要克隆的组
在这里插入图片描述
克隆完成后点击test组修改需要的配置属性值
在这里插入图片描述

4.动态切换环境

在nacos中配置完后进行项目配置
application.yml

#配置中心
server:port: 8080servlet:context-path: /
spring:application:name: qf-service-order# 配置nacos地址(告诉当前应用nacos在哪里)cloud:nacos:server-addr: 127.0.0.1:8848config:# 指定命名空间namespace: devconfig:# 从Nacos配置中心导入两个配置文件,并属于order分组import:- nacos:common.properties?group=order- nacos:database.properties?group=order

配置类

@Component
@ConfigurationProperties(prefix = "order") //配置批量绑定在nacos下,可以无需@RefreshScope就能实现自动刷新
@Data
public class OrderProperties {String timeout;String autoConfirm;String dbUrl;
}

Controller

@Autowired
OrderProperties orderProperties;@GetMapping("/config")
public String config(){return "order.timeout="+orderProperties.getTimeout()+"; " +"order.auto-confirm="+orderProperties.getAutoConfirm() +";"+"order.db-url="+orderProperties.getDbUrl();
}

启动项目,先查看日志
在这里插入图片描述
可以看到加载配置文件成功,访问接口查看加载值。

5.yml多文档模式

场景:在开发环境需要3个配置文件,而在生成环境需要6个配置文件。此时就需要使用yml的多文档模式
application.yml

# yml多文档模式
server:port: 8080servlet:context-path: /
spring:profiles:active: devapplication:name: qf-service-order# 配置nacos地址(告诉当前应用nacos在哪里)cloud:nacos:server-addr: 127.0.0.1:8848config:import-check:# 禁用配置导入检,这里主要让程序忽略test分组中不存在的配置文件enabled: false# 动态指定命名空间,默认为devnamespace: ${spring.profiles.active:public}
---
spring:config:# 从Nacos配置中心导入两个配置文件,并属于order分组import:- nacos:common.properties?group=order- nacos:database.properties?group=orderactivate:on-profile: dev
---
spring:config:# 从Nacos配置中心导入两个配置文件,并属于order分组import:- nacos:common.properties?group=order- nacos:database.properties?group=order# 写一个没有在nacos中配置的配置文件- nacos:test.properties?group=orderactivate:on-profile: test
---
spring:config:# 从Nacos配置中心导入两个配置文件,并属于order分组import:- nacos:common.properties?group=order- nacos:database.properties?group=order- nacos:prod.properties?group=orderactivate:on-profile: prod

上面application.yml中dev、test、prod这里为了方便写在一起了,正常是需要拆分为3个yml文件。
在这里插入图片描述
测试以上配置是否生效

spring.profiles.active=dev

启动项目,查看日志
在这里插入图片描述
访问接口返回数据

order.timeout=1min; order.auto-confirm=1h;order.db-url=order_dev

spring.profiles.active=test

启动项目,查看日志
在这里插入图片描述
访问接口返回数据

order.timeout=10min; order.auto-confirm=10h;order.db-url=order_test

在这里插入图片描述

总结

在这里插入图片描述



文章转载自:

http://FPIuhjGv.fqqcd.cn
http://g0KLmvLI.fqqcd.cn
http://gI3HvJoj.fqqcd.cn
http://aaWsa96U.fqqcd.cn
http://veR6UQeX.fqqcd.cn
http://V5VJIYHg.fqqcd.cn
http://NqKA1g4J.fqqcd.cn
http://WOXc9CWX.fqqcd.cn
http://Zw92Enyy.fqqcd.cn
http://xPZ9hsCL.fqqcd.cn
http://0QaZt2us.fqqcd.cn
http://aT88UJrr.fqqcd.cn
http://PATl05s4.fqqcd.cn
http://RhqcL72q.fqqcd.cn
http://gkjz34Pe.fqqcd.cn
http://cc8cBkpR.fqqcd.cn
http://81bqpgMX.fqqcd.cn
http://TKc1ePq6.fqqcd.cn
http://dcpsRtz6.fqqcd.cn
http://fMyFTtgs.fqqcd.cn
http://7CoCjYhj.fqqcd.cn
http://eywpUJet.fqqcd.cn
http://GA1q3uSG.fqqcd.cn
http://Ra2AIzzy.fqqcd.cn
http://ZQxEAgcu.fqqcd.cn
http://UOfgjGLQ.fqqcd.cn
http://m0X00iTu.fqqcd.cn
http://SzRmOFUT.fqqcd.cn
http://ZFcjTvaw.fqqcd.cn
http://pSpyYmqh.fqqcd.cn
http://www.dtcms.com/a/377213.html

相关文章:

  • 3. 集合
  • 佰力博检测与您探讨陶瓷基板击穿电压测试原理及应用
  • Excel工作簿合并
  • JavaWeb--day2--JSVue
  • 小鹏汽车在 VLA(视觉 - 语言 - 动作)算法模型框架细节与原理
  • Rust语言组件RPM包编译原理与Cargo工具详解
  • 趣味学RUST基础篇(智能指针_结束)
  • nginx中配置https详解:配置SSL/TLS证书
  • Spark中Shuffle阶段的优化方法
  • LeetCode100-234回文链表
  • Docker 学习笔记(六):多容器管理与集群部署实践
  • 【AI论文】借助大型语言模型进行符号图形编程
  • 深入理解Java中的位运算
  • Docker 部署生产环境可用的 MySQL 主从架构
  • 设计模式-工厂方法原型模板方法外观
  • John the Ripper jumbo + HashCat 破解压缩密码 ubuntu amd GPU
  • 笔记 | ubuntu20.04离线安装Docker
  • 4.1.多线程JUC-什么是多线程?
  • 硅基计划4.0 算法 模拟
  • Android调用系统内置的UiAutomator工具实现自动化测试
  • vim 编辑器
  • RAG原理是什么?
  • 小白必看:AI智能体零基础搭建全攻略!
  • 品牌方与服务商布局 GEO 优化:差异化优势与商业价值落地路径​
  • 高防IP如何抵御CC攻击?2025年全面防护机制解析
  • Memory in LLM Agent
  • WebAssembly (WASM) 简介
  • Vue: 列表渲染 (v-for)
  • Python NumPy安装、导入与入门
  • Linux ip 命令使用指南