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

springboot集成 Nacos 获取nacos中的配置文件内容 实现配置管理

springboot集成 Nacos 获取nacos中的配置文件内容 实现配置管理

  • springboot集成 Nacos 获取配置内容 实现配置管理

待验证后补入官网教程中的springboot集成nacos和官网教程中的“Nacos Spring关键特性”中的全部内容、其中涉及到各个注解的使用及示例和此内容

springboot集成 Nacos 获取配置内容 实现配置管理

springboot应用读取nacos中的相关配置,亲测有效。

  • 使用的springboot的版本及相关依赖版本
<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><!-- 因目前找到的nacos版本对springboot最高支持到了3.2.9,故将springboot降回此版本 --><version>3.2.9</version><relativePath/><!-- lookup parent from repository --></parent>...<dependencies><!-- Nacos --><!-- 配置中心 --><!-- Source: https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2023.0.3.4</version><scope>compile</scope></dependency></dependencies>
  • nacos服务端中要读取的配置文件↓
  • application.properties配置nacos服务端的连接及要读取的配置文件信息
# Nacos 配置管理# Nacos服务端地址,需要包括IP地址(不需要http协议前缀)和端口spring.cloud.nacos.config.server-addr=10.0.33.252:9848# 对应Nacos服务端中的命名空间(↑图1标识),下图中填写的内容对应【上图中的标识】spring.cloud.nacos.config.namespace=【命名空间】# 对应Nacos服务端中的Data ID(↑图2、3标识)spring.cloud.nacos.config.name=【DataID2】.【DataID3# 对应Nacos服务端中的Group(↑图4标识)spring.cloud.nacos.config.group=【Group】# 对应Nacos服务端中Data ID的文件后缀(↑图3标识)spring.cloud.nacos.config.file-extension=【DataID3# 对应Nacos服务端的登录账户spring.cloud.nacos.config.username=realUsernamespring.cloud.nacos.config.password=realPassword#从 Nacos 加载核心配置,optional表示 Nacos 不可用时不阻断启动,refreshEnabled=true表示启用动态刷新。spring.config.import=optional:nacos:【DataID2】.【DataID3】?refreshEnabled=true
  • 向配置类中注入从nacos中读取的属性↓,比如要读取↓ nacos配置文件 中的test.Filter.enabled开关
# 服务地址test: Filter: enabled:true
  • 使用两种方式↓↓,从nacos中读取到的配置信息,通过 Nacos 的@NacosValue注解获取并使用属性值和通过直接获取配置类、进而获取配置类中的属性值。有博客提到可以通过@NacosValue("${test.Filter.enabled:false}")设定【未获取到属性值时的】默认值。
  • 百度AI提到@EnableNacosConfig@EnableNacosDiscovery@NacosValue都是旧版nacos-spring-context的注解‌,与Spring Boot 3.x不兼容,@NacosProperties是旧版注解‌,已被 Spring Cloud Alibaba 的配置方式替代‌,@NacosValue已被@Value替代‌↓,Spring Cloud Alibaba 会自动从 Nacos 加载配置,亲测有效。
importorg.springframework.beans.factory.annotation.Value;@Value("${workflow.mjFilter.enabled}")public String secretLevl;
importcom.alibaba.nacos.api.config.annotation.NacosValue;@NacosValue("${test.Filter.enabled}")public String secretLevl;@Autowired private NacosConfig nacosConfig;@GetMapping(value="/nacosTest")public ResponseEntityreadFromNacosTest(){System.out.println("从nacos读取的密级开关是:"+secretLevl);System.out.println("从nacos读取的密级开关是:"+nacosConfig.secretLevl);returnResponseEntity.ok().build();}

输出结果如下图所示

http://www.jsqmd.com/news/1123945/

相关文章:

  • WarcraftHelper魔兽争霸3兼容性优化:Windows 11全版本故障修复与性能增强指南
  • 流言协议协调_agent-gossip-coordinator
  • 三步极速上手:E-Hentai漫画批量下载高效解决方案
  • RAG沉寂了吗?一场被误读的退场与一场正在发生的进化
  • C语言 环境设置
  • LangFlow 1.x 系列【3】入门案例
  • 【LangChain】 少样本提示(Few-Shot)完全指南:从原理到实战落地
  • 3分钟掌握HunterPie:怪物猎人世界终极数据覆盖工具完全指南
  • CS2200-CP与PIC18F4682实现高精度嵌入式计时系统
  • 嵌入式应用开发笔记之web端设备控制台
  • Claude生成的表格如何导出 甩给AI导出鸭,爽麻了
  • 每天10分钟学会OceanBase系列(Day 9):SQL性能诊断,看懂执行计划不再难
  • 汽车功能安全的“独立性“要求:为什么两个系统“都好“不等于“一起好“
  • 机器学习系列:高斯混合模型(1)
  • [论文学习]吸引力元数据攻击:诱导LLM智能体调用恶意工具深度解析
  • 怎么自动下载多个文件?
  • 终极Finder视频预览工具:QLVideo解锁macOS全格式预览能力
  • 爱丽丝的发丝──《爱丽丝惊魂记:疯狂再临》制作点滴
  • HashMap、mutableMapOf 与 ConcurrentHashMap 完全指南
  • 珠宝店做网站就找我!一站式解决展示、销售、定制全流程
  • 回测太慢怎么办?我从250小时优化到1小时的经历
  • AI模型中规划与执行分离:开启智能应用新范式
  • SonicNote聆犀AI录音卡 × Obsidian:让每一次对话,自动成为你的知识资产
  • HCIP的OSPF的拓展配置
  • Java面试通关①:Java基础核心全集
  • 多层软硬结合板,电路板界的“变形金刚”
  • OpenClaw:微信扫码即用的轻量级AI工作流中枢
  • 数据分析师核心技能树:Excel、SQL、PowerBI与Python实战学习路径
  • JavaQuestPlayer:5分钟学会QSP游戏开发的终极指南 [特殊字符]
  • 5分钟永久解锁Office:零风险激活Microsoft 365的终极指南