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://www.toymoban.com/news/detail-819666.html
https://developer.aliyun.com/article/897341文章来源地址https://www.toymoban.com/news/detail-819666.html
到了这里,关于【配置nacos】使用application.yml配置文件来配置spring-cloud-starter-alibaba-nacos-config的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!