说明
配置中心是nacos中的一个基本且重要的功能,而SpringBoot的配置方式是写在yml/properties文件中的,试想一下当发布了一个即使是最基础的Springboot工程后碰到需要更改配置属性的情况...
如果小伙伴还没有安装nacos的经验,又或者觉得官网的龟速下载太慢,可以看我这篇(基于Windows的)
看我这篇:https://blog.csdn.net/cm777/article/details/129990494
步骤一
建立SpringBoot工程
步骤二
使用Nacos管理SpringBoot的属性配置化(以建立命名空间的方式)
1、建立命名空间
2、创建配置:选中刚刚建立好的命名空间,然后建立配置
建立完成的图片(我建立了俩,注意Data Id是有规则的,后面会说到)
步骤三
回到项目:加入Spring整合Nacos的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
注意:官方文档描述的版本对应关系
延申
很多博文中在使用SpringBoot工程配置nacos的时候,会使用下面这个maven依赖。
其实单体SpringBoot是不需要用spring-cloud-starter-alibaba-nacos-discovery这个依赖的。
这个依赖是用作SpringCloud中作为注册中心实现服务注册与发现的,如果你是SpringCloud工程就引入。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
步骤四
在启动类中加入@EnableDiscoveryClient,表示向nacos注册该服务
步骤五
在 resources 目录下新建 bootstrap.yml文件
spring:
application:
name: spring-nacos
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
group: dev
namespace: 56c9ce40-92ad-4755-ab78-2f7bec488039
config:
prefix: test-nacos
# 配置中心地址
server-addr: 127.0.0.1:8848
# 指定命名空间
namespace: 56c9ce40-92ad-4755-ab78-2f7bec488039
# 指定所属分组 (可以在nacos中自定义)
group: dev
# 配置文件格式
file-extension: properties
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
注意:官方文档中描述的Data Id 的规则。一定要遵循,否则会发现配置无效
我在bootstrap.yml中显示的定义了 prefix = test-nacos,所以我的dataId = test-nacos-dev.properties
如果我不显示定义prefix的值,那么prefix会默认使用spring.application.name的值,也就是我在nacos中的第一个配置 spring-nacos-dev.properties
步骤六
新建一个控制器,测试读取配置在nacos中的属性