SpringCloud无法获取Nacos中的配置文件信息

  • Post author:
  • Post category:其他


在项目启动时始终报错@Value(${})值找不到。

在这里插入图片描述

在这里插入图片描述

无法解析占位符中的值。


1.着重检查nacos、springcloud、springcloudalibaba等相关版本号是否对应的上。参考:

官方文档版本说明




2.检查项目中的依赖是否添加:

官方文档描述

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


3.检查项目中配置文件优先级。又很对人在之前cloud版本中都是用的application.yml,这里我们需要使用bootstrap.yml,它的优先级大于application.yml。

spring:
  application:
    name: nacos-config-demo # 应用名称也是构成 Nacos 配置管理 dataId 字段的一部分 (当 config.prefix 为空时)
  cloud:
    # Nacos客户端
    nacos:
      discovery:
        # Nacos
        server-addr: 127.0.0.1:8848
        namespace: #命名空间为nacos配置的,自动生成或手动配置的
        group: DEFAULT_GROUP
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        namespace:  #命名空间为nacos配置的,自动生成或手动配置的
        group: DEFAULT_GROUP
        prefix: nacos-config-demo


dataID完整格式如下:

在 Nacos Spring Cloud 中,dataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}

prefix 默认为 spring.application.name 的值,也可以通过配置项

spring.cloud.nacos.config.prefix来配置。 spring.profiles.active 即为当前环境对应的

profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 –

也将不存在,dataId 的拼接格式变成



p

r

e

f

i

x

.

{prefix}.







p


re


f


i


x



.





{file-extension} file-exetension

为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持

properties 和 yaml 类型。

在这里插入图片描述


${prefix}取值默认为项目名


在这里插入图片描述


也可以自由配置,声明我们需要的配置文件


在这里插入图片描述


${spring.profiles.active} 为项目指定的环境,例如dev。项目中不配置则为空,也不拼接 –

${file-extension}为指定的文件类型


在这里插入图片描述


例如我的项目没有指定spring.profiles.active,则最终拼接的文件名称为:

nacos-config-demo.yaml

如果我指定了spring.profiles.active=dev则最终拼接文件名为:

nacos-config-demo-dev.yaml

4.如果以上都没解决问题,再次检查pom文件依赖是否引入spring-cloud-starter-bootstrap包。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.1.0</version>
        </dependency>



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