Nacos配置中心(2)
使用Nacos作为配置中心
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。所以它可以作为注册中心和配置中心,作为注册中心Nacos可以让我们灵活配置多种环境的参数,使得项目在打包过程中不需要过多的关注目标环境问题,达到项目一次打包,多处运行的目标。今天我们就来介绍一下如何使用Nacos作为配置中心。
Demo
第一步:在Nacos管理平台配置列表菜单选项点击“+”号新建配置,新建配置之后点击发布按钮。
配置规则
-
dataId :格式如下 ${prefix} - ${spring.profiles.active} . ${file-extension}
-
prefix 默认为 spring.application.name 的值
-
spring.profiles.active 当前环境对应的 profile
-
file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension来配置。
group 默认DEFAULT_GROUP
当activeprofile 为空时直接填写 spring.application.name值即可 默认properties
第二步:新建一个项目(这里使用之前的nacos-provider),pom.xml加入nacos配置中心依赖。
<!--Nacos配置中心 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
第三步:指定配置中心地址。
spring: profiles: active: dev application: name: nacos-provider cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #注册中心地址 config: server-addr: 127.0.0.1:8848 #配置中心地址 file-extension: yml #配置文件格式 server: port: 9090
第四步:使用配置中心参数
package org.nacos.provider.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController @RefreshScope public class EchoController { @Value("${config.address}") private String address; @GetMapping("/providerecho/{string}") public String echo(@PathVariable String string) { return address+":" + string; } }
第五步:使用@RefreshScope注解之后可以实时刷新Nacos配置中心修改后的参数值。
注意点:
Nacos配置中心的配置项会覆盖在项目中相同键的配置项。