1.下载和安装
进入到官网下载就好了
解压
启动
2.新建cloudalibaba-config-nacos-client3377
2.1 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2020</artifactId><groupId>com.cao.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloudalibaba-config-nacos-client3377</artifactId><dependencies><!--nacos-config--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--nacos-discovery--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--web + actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--一般基础配置--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>
2.2 两个yml文件
2.2.1 bootstrap.yml
# nacos配置
server:port: 3377spring:application:name: nacos-config-clientcloud:nacos:discovery:server-addr: localhost:8848 #Nacos服务注册中心地址config:server-addr: localhost:8848 #Nacos作为配置中心地址file-extension: yaml #指定yaml格式的配置
#官网地址:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
#Nacos同springcloud-config一样,在项目初始化时,要保证先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动。
#springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于application
#公式:${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# 在这里就是:nacos-config-client-dev.yaml
2.2.2 application.yml
spring:profiles:active: dev # 表示开发环境
2.3 主启动类
package com.cao.springcloud.alibaba;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @auther caowenbin* @create 2023-10-17 21:07*/
@EnableDiscoveryClient
@SpringBootApplication
public class NacosConfigClientMain3377 {public static void main(String[] args) {SpringApplication.run(NacosConfigClientMain3377.class, args);}
}
2.4 Controller
package com.cao.springcloud.alibaba.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.RestController;/*** @auther caowenbin* @create 2023-10-17 21:09*/
@RestController
@RefreshScope //在控制器类加入@RefreshScope注解使当前类下的配置支持Nacos的动态刷新功能。
public class ConfigClientController
{@Value("${config.info}")private String configInfo;@GetMapping("/config/info")public String getConfigInfo() {return configInfo;}
}
3.配置新增
3.1 官网文档说明及地址
根据官网的规则进行设置自己的Data ID
官网文档地址:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
3.2 配置自己的Data Id和内容
Data Id要求一定要根据官网的要求和规则
设置自己的配置内容
config: info: this is nacos config of dev
4.测试
4.1 测试是否读取到nacos中的配置内容
启动当前模块,进行测试访问,看是对否能够读取到nacos配置的内容config.info
4.2 测试动态刷新
修改nacos中的内容,发布,直接刷新网页,访问Controller,
看到内容已经动态获取到了
5.通过spring.profile.active属性就能进行多环境下配置文件的读取
5.1 新增一个配置文件nacos-config-client-test.yaml
config: info: this is nacos config of test,Refresh Test
5.2 修改自己的代码
5.3 测试
6.Nacos之Group分组方案
6.1 新增两个组和对应的data Id
DEV_GROUP新增dataID:nacos-config-client-info.yaml
TEST_GROUP新增dataID:nacos-config-client-info.yaml
最终的,同名的两个文件,但是在不同的GROUP,怎样获取配置文件中的内容
6.2 代码改写,重启项目
在config下增加一条group的配置即可。可配置为DEV_GROUP或TEST_GROUP
6.2.1 TEST_GROUP
6.2.2 DEV_GROUP
6.3 测试
6.3.1 TEST_GROUP
访问的是TEST_GROUP组中的nacos-config-client-info.yaml文件
6.3.2 DEV_GROUP
访问的是DEV_GROUP组中的nacos-config-client-info.yaml文件
7.Nacos之Namespace空间方案
7.1 新建两个命名空间:dev和sit
回到服务管理-服务列表查看
7.2 在namespace为dev的下面新加三个配置文件
7.2.1 dev文件配置
7.2.2 sit文件配置
7.2.3 default文件配置
7.3 编写配置
根据namespace+group+dataId确定了读取的是哪一个文件中的内容
7.4 重启测试
读取的是:namespace为dev,group为DEV_GROUP,dataId为nacos-config-client-dev.yaml中的内容