Smooth°
2021-06-22 10:45
采纳率: 100%
浏览 63
已采纳

访问到nacos后,显示没有数据

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 是赵敢敢啊 2021-06-22 11:08
    已采纳

    得自己上传配置文件

    点赞 评论
  • 是赵敢敢啊 2021-06-24 10:27

    他的配置文件有一个data-id ,格式是

    ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
    //如果有 spring.cloud.nacos.config.prefix 的话data-id 就是
    ${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
    
    //其中的这个 file-extension 支持的有两种格式 yaml 和 properties

    项目在bootstrap.yml里边配置你的nacos地址,

    //如以下的配置信息
    spring:
      profiles:
        active: @profileActive@
      application:
        #这里需要改
        name: client-@profileActive@
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848
          config:
            server-addr: 127.0.0.1:8848
            #server-addr: 127.0.0.1:8848
            file-extension: yaml
            #这里需要改
            prefix: client
            refreshable-dataids: reim-@profileActive@.yaml,share-@profileActive@.yaml
            shared-dataids: share-@profileActive@.yaml
      main:
        allow-bean-definition-overriding: true

    按照上边的bootstrap.yml配置的话,他会把你的服务注册到本地的8848的nacos上,这个时候你的data-id按照上边的公式来说就是

    client-@profileActive@.yaml  你需要在nacos的配置项里边添加一个 client-@profileActive@.yaml 的配置,然后把你的配置信息写在里边,

    他启动的时候会先找共享的配置文件,然后在加载自己独有的配置文件,然后在跟你本地的bootstrap.yml合并起来组成一个配置文件,

    共享的也就是那个 shared-dataids: 他会先去找那个共享的配置文件(share-@profileActive@.yaml),

    然后那个refreshable-dataids:他的意思是哪些配置文件刷新的时候你的项目配置会自动刷新,想要不重启项目刷新配置文件的话需要在使用 @Value的类上添加上 @RefreshScope注解,你的nacos配置修改保存之后,他就会自动刷新@Value引用的值

    点赞 评论

相关推荐 更多相似问题