• 【配置nacos】使用application.yml配置文件来配置spring-cloud-starter-alibaba-nacos-config


    1.首先修改pom.xml文件,引入spring-cloud-starter-alibaba-nacos-config依赖

    1. <dependency>
    2. <groupId>com.alibaba.cloudgroupId>
    3. <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
    4. dependency>

    2.在应用的 /src/main/resources/application.yml 配置文件中配置 Nacos Config 元数据

    1. spring:
    2. cloud:
    3. nacos:
    4. config:
    5. server-addr: 127.0.0.1:8848
    6. group: DEFAULT_GROUP
    7. #指定文件名,没有则默认${spring.application.name}
    8. #指定文件后缀
    9. file-extension: yml
    10. config:
    11. import:
    12. - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
    13. application:
    14. name: ww-nacos

    这里注意一下,官方文档上面给的使用bootstrap.properties来进行配置的,我是使用的application.yml来进行配置的。

    【出现的问题以及解决】

    1.没有加入spring.config.import会报错,我在配置文件里面新加了config.import,看上面

    1. #如果引入了spring-cloud-starter-alibaba-nacos-config,并且使用 import 方式导入配置,
    2. #项目启动时会自动检测是否引入了 nacos:条目,如果没有 import nacos 条目,
    3. #会出现如下错误:...
    4. #Add a spring.config.import=nacos: property to your configuration.

    2.动态修改配置发现不能自动刷新,我加了@RefreshScope注解也没法自动刷新,后来我发现,每次启动能获取到nacos配置中心的内容,但是修改配置中心的文件进行发布,刷新发现没有变化,还是一开始启动的内容。

    解决:后来我发现我是在yml文件中进行的配置,那需要对应nacos配置中心也得配置成yaml格式,如果是properties就对应properties,我更改了之后发现能自动刷新了。

    【注意事项】 spring-cloud-starter-alibaba-nacos-config 模块移除了 spring-cloud-starter-bootstrap 依赖,如果你想以旧版的方式使用,你需要手动加上该依赖,现在推荐使用spring.config.import方式引入配置。

    如果你想使用bootstrap来进行配置的话,就在pom.xml文件里面添加该依赖即可,然后按照官方文档进行配置:

    1. 在pom.xml文件下引入依赖
    2. <dependency>
    3. <groupId>org.springframework.cloudgroupId>
    4. <artifactId>spring-cloud-starter-bootstrapartifactId>
    5. <version>3.1.0version>
    6. dependency>
    7. //在bootstrap.properties配置文件中
    8. spring.application.name=ww-nacos
    9. spring.cloud.nacos.config.server-addr=127.0.0.1:8848

    那这样其实可以运行了,不需要添加其他的东西,我是为了统一配置文件才做的。 

    3.测试一下,在接口类中利用@Value获取配置文件并返回结果,动态刷新:

    修改发布一下:

    我感觉还是bootstrap.properties好用,后来开发的时候换成了bootstrap

    学习:

    https://developer.aliyun.com/article/897341

  • 相关阅读:
    Android R给自家UA工具挖坑
    懒到骨子里了,我在CSDN写文章都懒得自己写了,基于selenium模拟写文章
    DDD - 来自听众的16个DDD问题,美团技术团队是这样回答的
    有哪些好用的图形化端口转发工具?
    设计模式总结
    前端的强缓存和协商缓存
    Kubernetes 基于 helm 部署高可用 harbor
    故障分析 | Redis Cluster 分片内存异常使用不均问题诊断
    每日4道算法题——第020天
    scrapyd-完整细节
  • 原文地址:https://blog.csdn.net/weixin_45704996/article/details/128050711