Nacos Spring Boot 读取 yaml 失败报错问题

在使用Nacos version 1.4.1时遇到了Spring Boot应用无法正确读取yaml配置的问题。首先,发现预加载配置未开启,解决方法是在源码中启用nacos.config.bootstrap.enable。其次,出现'java.lang.IllegalArgumentException: 'value' must not be null'的空指针异常,调试过程中发现是由于未能从NacosPropertySource注解中获取到正确的data-id导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nacos version:1.4.1

application.class

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class })
@NacosPropertySource(dataId = "flyaway", autoRefreshed = true)
public class NacosApplicaiton {

    @Value("${server.port:1}")
    private int port;

    @PostConstruct
    public void init() {
        System.out.println(port);
    }

    public static void main(String[] args) {
        SpringApplication.run(NacosApplicaiton.class, args);
    }
}

application.yml

# 正确配置:
nacos:
  config:
    server-addr: 127.0.0.1:8848
    type: yaml
    bootstrap:
      enable: true
      log-enable: true
    data-id: flyaway
  discovery:
    server-addr: 127.0.0.1:8848

1. The preload configuration is not enabled

查看源码中还需要配置 nacos.config bootstrap.enable

NacosConfigApplicationContextInitializer.class

2. java.lang.IllegalArgumentException: 'value' must not be null 空指针问题

 Debug 到要读取data-id, 而未能读取 NacosPropertySource 注解下data-id

NacosConfigLoader.class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值