首先修改pom.xml文件,引入spring-cloud-starter-alibaba-nacos-config依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config
在应用的 /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来进行配置的。
【出现的问题以及解决】:
没有加入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.
动态修改配置发现不能自动刷新,我加了@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文件下引入依赖org.springframework.cloud spring-cloud-starter-bootstrap 3.1.0 //在bootstrap.properties配置文件中spring.application.name=ww-nacosspring.cloud.nacos.config.server-addr=127.0.0.1:8848
那这样其实可以运行了,不需要添加其他的东西,我是为了统一配置文件才做的。
测试一下,在接口类中利用@Value获取配置文件并返回结果,动态刷新:
修改发布一下:
我感觉还是bootstrap.properties好用,后来开发的时候换成了bootstrap
学习:
https://developer.aliyun.com/article/897341
来源地址:https://blog.csdn.net/weixin_45704996/article/details/128050711