关于nacos配置中心取不到配置中心数据的问题

问题描述:所有注解配置都没错误,但是取不到配置中心的值

 这里配置中心的文件名为:

nacos-restful-consumer.yaml

 下面是关于bootstrap.yaml 的配置  文件后缀名为yaml

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848 # 配置中心地址
        file-extension: yaml
        group: DEFAULT_GROUP

下面是关于application.yaml的配置

server:
  port: 8081
provider:
  address: 127.0.0.1:8080
dubbo:
  consumer:
    check: false

nacos:
  server:
    addr: 127.0.0.1:8848
spring:
  application:
    name: nacos-consumer
  cloud:
    nacos:
      discovery:
        server-addr: ${nacos.server.addr} # 配置中心地址

经过检查controller配置没有问题

@RefreshScope  //动态更新配置
@RestController
public class RestConsumerController {
  
    @Value("${name}")
    private String name;

    @GetMapping(value = "/configs")
    public String getvalue(){
        return name;
    }

}

在这样的情况下,就会报找不到**属性的错误

解决方法如下:

        1.文件后缀不一致配置中心的为.yaml/yml后缀,后端bootstrap的后缀也要是yaml/yml,(这里可能不是出错的根本原因)

        2.配置中心的文件名nacos-restful-consumer 与application.yaml的配置项目名spring: application: name: nacos-consumer 要一致,这里不一致就导致报错 把配置项目名 nacos-consumer 改为 nacos-restful-consumer

最后pom文件一定要加上从配置中心获取配置添加nacos-config的依赖: (没有以上问题,还不能解决,可能就是没有加这个依赖)

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

这样就可以对应到配置文件 ,就可以取到配置文件中的值了,希望可以帮助到你!!


版权声明:本文为weixin_64074103原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。