spring cloud alibaba - Nacos 作为配置中心基础使用
1.简要说明
Nacos提供了作为配置中心的功能,只需要在Nacos的控制台页面添加配置,然后在项目中配置相应的"路径"就好。
主要分为几个步骤:
在Nacos控制台添加配置
在项目引入依赖
配置Nacos上的配置的"路径"
2.Nacos控制台配置说明
配置管理-配置列表,可以看见我们的配置
下图是我添加的一个配置

Nacos的配置的完整名称路径是:命名空间+组Group名+Data Id,类似于项目+包名+类名,这样子可以对配置文件进行较好的分类管理。
命名空间:默认存在一个命名空间public,也可以自己创建

组:在新建配置的时候设置,名字自己随意取
data id:在新建配置的时候设置,data id的值和我们项目中的配置有关,这个后面讲

3.简单实例
3.1创建模块

3.2依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> <dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
完整
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
<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>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
</dependencies>
3.3配置文件
application.yml
spring:
profiles:
active: dev
bootstrap.yml
server:
port: 3377 spring:
application:
name: nacos-config-client #将会作为注册到注册中心的服务名称
cloud:
nacos:
discovery:
server-addr: localhost:8848 #作为注册中心的Nacos的地址
config:
server-addr: localhost:8848 #作为配置中心Nacos的地址
file-extension: yaml #指定yaml格式的配置
为什么这里需要两个配置文件呢,这个data id有关
现在,我们看Data id是怎么形成的

Data id的格式如下 ${prefix}-${spring.profiles.active}.${file-extension}
${prefix}:默认是spring.application.name的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置
${spring.profiles.active} 即为当前环境对应的 profile,注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension},最好不要少,这也就是上面弄了两个配置文件的原因
${file-extension}为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

按照我们的配置,Data Id 也就是 nacos-config-client-dev.yaml
上面的配置,也就是去找地址为 localhost:8848的Nacos,由于我们没有配置命名空间和组,所以找的是默认的命名空间public和默认组DEFAULT_GROUP,Data id是nacos-config-client-dev.yaml的配置
3.4主启动类
package com.atguigu.springcloud; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; /**
* @Classname NacosConfigClientMain3377
* @Description TODO
* @Date 2021/6/21 0021 下午 3:38
* @Created by jcc
*/
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClientMain3377 {
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientMain3377.class,args);
}
}
3.5业务类
package com.atguigu.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; @RestController
@RefreshScope //动态刷新 通过这个注解实现配置的自动刷新,但我们修改配置了,会自动刷新
public class ConfigClientController
{
@Value("${config.info}")
private String configInfo; //读取我们在Nacos上的配置的内容 config.info @GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
3.6.在Nacos控制台创建配置

Data id的值一定要对应上面项目中的配置形成的Data id的值
Group采用默认的
配置格式:选择YAML
配置内容:config.info: 帅呀
3.7启动项目
访问http://localhost:3377/config/info,读取到了配置内容

修改配置内容

再次访问

发现自动更新了配置内容
4.自定义命名空间和自定义组
4.1创建命名空间
命名空间-新建命名空间
id自动生成就好

创建成功后
4.2在mysp命名空间下创建配置

选择命名空间为mysp,点击+新增配置

Data id还是之前的不变
Group:MY_GROUP (自定义的组的名称)
配置格式:YAML
配置内容:mysp---MY_GROUP_帅呀
4.3修改项目的配置文件
server:
port: 3377 spring:
application:
name: nacos-config-client #将会作为注册到注册中心的服务名称
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置Nacos地址
config:
server-addr: localhost:8848 #配置中心地址
file-extension: yaml #指定yaml格式的配置 也就是去配置中心3348去找yml配置文件,而application的配置active: dev,有指定了找名字为dev的
namespace: 55b6e10a-d590-4260-83fc-60db57b47f3e
group: MY_GROUP
添加了两个配置内容:
namespace: 55b6e10a-d590-4260-83fc-60db57b47f3e 命名空间的id
group: MY_GROUP 组名
这里去找的是id为55b6e10a-d590-4260-83fc-60db57b47f3e的命名空间下,组名为MY_GROUP,data id为nacos-config-client-dev.yaml的配置
4.4重启项目
访问http://localhost:3377/config/info
spring cloud alibaba - Nacos 作为配置中心基础使用的更多相关文章
- Spring Cloud Alibaba Nacos 的 2 种健康检查机制!
Spring Cloud Alibaba Nacos 作为注册中心不止提供了服务注册和服务发现功能,它还提供了服务可用性监测的机制.有了此机制之后,Nacos 才能感知服务的健康状态,从而为服务调用者 ...
- Spring Cloud Alibaba | Nacos服务中心初探
目录 Spring Cloud Alibaba | Nacos服务中心初探 1. 什么是Nacos? 1.1 Nacos 1.0 1.2 Nacos 2.0 2. Nacos 架构及概念 2.1 服务 ...
- Spring Cloud Alibaba | Nacos服务注册与发现
目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...
- Spring Cloud Alibaba | Nacos配置管理
目录 Spring Cloud Alibaba | Nacos配置管理 1. pom.xml 项目依赖 2. 在 bootstrap.properties 中配置 Nacos server 的地址和应 ...
- Spring Cloud Alibaba | Nacos集群部署
目录 Spring Cloud Alibaba | Nacos集群部署 1. Nacos支持三种部署模式 2. 集群模式下部署Nacos 2.1 架构图 2.2 下载源码或者安装包 2.3 配置集群配 ...
- 0.9.0.RELEASE版本的spring cloud alibaba nacos实例
简而言之,nacos与eureka的不同之处有三:后台老板.部署方式.功能.nacos是阿里的,eureka是奈飞的:nacos有自己的安装包,需要独立部署,eureka仅作为一个服务组件,引入jar ...
- Spring Cloud Alibaba+Nacos搭建微服务架构
1. Spring Cloud Alibaba 简介 Spring Cloud Alibaba是阿里巴巴为分布式应用提供的一站式解决方案,能够更方便快捷地搭建分布式平台,nacos拥有着替换eu ...
- Spring Cloud Alibaba Nacos Config 的使用
Spring Cloud Alibaba Nacos Config 的使用 一.需求 二.实现功能 1.加载 product-provider-dev.yaml 配置文件 2.实现配置的自动刷新 3. ...
- Spring Cloud Alibaba Nacos 服务注册与发现功能实现!
Nacos 是 Spring Cloud Alibaba 中一个重要的组成部分,它提供了两个重要的功能:服务注册与发现和统一的配置中心功能. 服务注册与发现功能解决了微服务集群中,调用者和服务提供者连 ...
- Spring Cloud 入门教程 - 搭建配置中心服务
简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...
随机推荐
- 基于iNeuOS工业互联网平台的板材实时质检系统
1. 项目背景 刨花板生产线由于原料.生产工艺等原因,会有一些产品板面出现颤纹.漏砂.胶斑.胶块.大刨花.粉尘斑.板面划痕和油污等缺陷.表面缺陷会降低板材强度.影响板材外观和二次加工,给企业带来经济 ...
- SpringBoot怎么自定义一个Starter ?
小伙伴们曾经可能都经历过整天写着CURD的业务,都没写过一些组件相关的东西,这篇文章记录一下SpringBoot如何自定义一个Starter. 原理和理论就不用多说了,可以在网上找到很多关于该方面的资 ...
- 列表、集合、元组、字典、range
#列表y = [1,2,3]# 追加y.append(4)print(y)#删除del y[3]print(y)#查询存放个数print(len(y))#查询位置内容print(y[0]) #正序pr ...
- 2流高手速成记(之九):基于SpringCloudGateway实现服务网关功能
咱们接上回 上一节我们基于Sentinel实现了微服务体系下的限流和熔断,使得整个微服务架构的安全性和稳定性上升了一个台阶 篇尾我们引出了一个问题,众多的微服务节点,我们如何部署才能满足客户端简洁高效 ...
- AR手势识别交互,让应用更加“得心应手”
现如今, AR技术不断发展,人们不再满足于运用键盘.鼠标等简单器械来实现传统的人机交互模式.随着用户接触机器的多样化,繁琐的操作不但对一些用户有门槛,而且还增加其学习成本:如果能用自然且符合日常生活习 ...
- devexpress中searchLookUpEdit赋值不显示
给searchLookUpEdit进行赋值的时候使用 string str="123"; searchLookUpEdit1.EditValue = str; 一直不显示或者显示为 ...
- fbterm的配置,纯文本终端显示中文
安装 fbterm sudo apt-get install fbterm 设置普通用户可以执行 fbterm 命令 sudo adduser username video #username为用户名 ...
- 1.3 Apache Hadoop的重要组成-hadoop-最全最完整的保姆级的java大数据学习资料
目录 1.3 Apache Hadoop的重要组成 1.3 Apache Hadoop的重要组成 Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架 ...
- Hexo+next主题美化
前言 需要在Hexo下配置next主题 Hexo配置next主题教程:https://www.cnblogs.com/xuande/p/16641543.html 更改配置以后使用素质三连:hexo ...
- ClickHouse入门教程
目录 什么是ClickHouse? OLAP场景的关键特征 列式数据库更适合OLAP场景的原因 输入/输出 CPU ClickHouse的特性 真正的列式数据库管理系统 数据压缩 数据的磁盘存储 多核 ...
