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

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

        <!--Nacos配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

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

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        group: DEFAULT_GROUP
        #指定文件名,没有则默认${spring.application.name}
        #指定文件后缀
        file-extension: yml
  config:
    import:
      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}

  application:
    name: ww-nacos

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

【出现的问题以及解决】

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

#如果引入了spring-cloud-starter-alibaba-nacos-config,并且使用 import 方式导入配置,
#项目启动时会自动检测是否引入了 nacos:条目,如果没有 import nacos 条目,
#会出现如下错误:...
#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文件里面添加该依赖即可,然后按照官方文档进行配置:

在pom.xml文件下引入依赖
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-bootstrap</artifactId>
	<version>3.1.0</version>
</dependency>


//在bootstrap.properties配置文件中
spring.application.name=ww-nacos
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

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

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

修改发布一下:

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

学习:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值