使用Nacos作为配置中心

前面我们已经介绍过滤Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。所以它可以作为注册中心和配置中心,作为注册中心Nacos可以让我们灵活配置多种环境的参数,使得项目在打包过程中不需要过多的关注目标环境问题,达到项目一次打包,多处运行的目标。今天我们就来介绍一下如何使用Nacos作为配置中心。

Demo

第一步:在Nacos管理平台配置列表菜单选项点击“+”号新建配置,新建配置之后点击发布按钮。

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

配置规则

  • dataId :格式如下 ${prefix} - ${spring.profiles.active} . ${file-extension}

  • prefix 默认为 spring.application.name 的值

  • spring.profiles.active 当前环境对应的 profile

  • file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension来配置。 目前只支持 properties 类型。

group 默认DEFAULT_GROUP

当activeprofile 为空时直接填写 spring.application.name值即可 默认properties

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

第二步:新建一个项目(这里使用之前的nacos-provider),pom.xml加入nacos配置中心依赖。

<!--Nacos注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

第三步:指定配置中心地址。

spring:
application:
name: nacos-provider
cloud:
nacos:
discovery:
server-addr: 192.168.0.127:8848 #注册中心地址
config:
server-addr: 192.168.0.127:8848 #注册中心地址 server:
port: 17357

第四步:使用配置中心参数

@SpringBootApplication
@EnableDiscoveryClient
public class NacosProvider { public static void main(String[] args) {
SpringApplication.run(NacosProvider.class,args);
} @RestController
@RefreshScope
class ConfigController { @Value("${config.address}")
private String address; @GetMapping("/print/address")
public String printAddress(){
return address;
} } }

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

第五步:使用@RefreshScope注解之后可以实时刷新Nacos配置中心修改后的参数值。

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

Spring Cloud Alibaba 教程 | Nacos(三)-LMLPHP

注意点

Nacos配置中心的配置项会覆盖在项目中相同键的配置项。

关注公众号了解更多原创博文

![Alt](https://img-blog.csdnimg.cn/20191104123907694.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA3Mzk1NTE=,size_16,color_FFFFFF,t_70#pic_center =591x339)

05-11 20:15