springboot引入远程nacos配置文件错误的解决方案
作者:勿语&
本文为解决Spring Cloud Alibaba中配置导入问题,提供了详细的步骤说明,包括引入依赖、配置nacos、创建bootstrap.yml文件以及测试配置导入是否成功的方法,帮助开发者快速解决相关问题
错误信息
如下:

- springboot版本:
<spring-boot.version>2.7.6</spring-boot.version>
- springcloud版本:
<spring-cloud.version>2021.0.3</spring-cloud.version>
- springcloudalibaba版本:
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
下面是解决上面问题的办法:
1. 引入依赖所需依赖
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
</dependencies>2. 远端nacos中的配置文件设置

3. 创建 bootstrap.yml
spring:
application:
name: nacos-config # 远程nacos的Data ID
cloud:
nacos:
server-addr: 127.0.0.1:8848 # 远程nacos的ip地址
config:
# namespace: 值为命名空间ID,不是命名空间名称
file-extension: yaml #指定远程文件的格式
# 如果服务名和远程的Data ID不同,可以通过以下方式来引入多个远程文件
extension-configs:
- data-id: mysql-config.yml
refresh: true
- data-id: redis-config.yml
refresh: true4. 测试是否导入配置成功
@SpringBootApplication
public class NacosConfigApplication {
public static void main(String[] args) throws InterruptedException {
ConfigurableApplicationContext context = SpringApplication.run(NacosConfigApplication.class, args);
while (true){
String name = context.getEnvironment().getProperty("user.name");
String age = context.getEnvironment().getProperty("user.age");
System.out.println("name="+name+"\t age="+age);
TimeUnit.SECONDS.sleep(2);
}
}
}5. 测试成功

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
