Java应用无法获取nacos导入的yml文件配置,如何解决?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

🍲问题描述

java应用无法获取nacos导入的yml文件配置

我用的nacos服务端是2.2.0版本,代码springboot版本是2.7.8版本。
代码连接nacos服务端是这样写的:

img

在nacos服务端是这样写的࿱

### Nacos YAML 文件配置使用教程 #### 1. 添加依赖项 为了使 Spring Boot 应用程序能够与 Nacos 进行集成并读取 `application.yml` 中的配置,需在项目的 `pom.xml` 或者 `build.gradle` 文件中引入必要的依赖。 对于 Maven 构建工具而言,在 `pom.xml` 文件内添加如下内容: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 而对于 Gradle 用户,则应在 `build.gradle` 文件里加入下面这行代码[^2]: ```groovy implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config' ``` #### 2. 配置 application.properties 或 application.yml 接下来要做的就是在应用程序根目录下的 `resources` 文件夹中的 `bootstrap.yml` (优先级高于 `application.yml`) 或者直接编辑 `application.yml` 来指定如何连接到 Nacos Server 并加载相应的配置数据源。以下是具体的设置方式: ```yaml spring: cloud: nacos: discovery: server-addr: localhost:8848 # Nacos服务器地址 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} # 同样的Nacos服务器地址用于获取配置 file-extension: yaml # 设置文件扩展名为YAML格式 group: DEFAULT_GROUP # 可选参数,默认组名 namespace: # 如果有命名空间的话可以在此处填写ID timeout: 3000 # 请求超时时间(ms),默认为3秒 ``` 上述配置指定了 Nacos 的服务端地址以及所使用的配置文件类型为 `.yaml` 。此外还设置了请求超时时长等其他可选项。 #### 3. 创建自定义配置文件 除了内置的支持外,还可以创建自己的 YML 文件并将它们上传至 Nacos 控制台作为外部化属性来管理和维护。例如可以在本地开发环境中建立一个新的名为 `custom-config.yaml` 的文件,并将其放置于资源路径下;之后再通过 Nacos UI 页面导入文件即可完成远程同步操作[^1]。 #### 4. 动态刷新配置 为了让应用能够在运行期间实时感知到任何更改过的配置信息而无需重启整个进程,只需简单地给目标 Bean 上加上 `@RefreshScope` 注解就可以了。这样每当检测到来自 Nacos Config 的更新事件后就会触发重新注入最新的值给对应的字段成员变量。 ```java @RestController @RequestMapping("/api/v1/demo") @RefreshScope public class DemoController { @Value("${example.message}") private String message; @GetMapping("/getMessage") public ResponseEntity<String> getMessage() { return new ResponseEntity<>(message, HttpStatus.OK); } } ``` 在这个例子当中,当访问 `/api/v1/demo/getMessage` 接口返回的消息会随着我们在 Nacos Console 修改了对应 key-value 对应的内容发生改变而不必担心需要手动干预部署流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug菌¹

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值