构建配置中心
新建命名空间
登录 Nacos 面板,依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息,点击【确定】:

新建配置文件
依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击右侧【+】号:

添加配置

填写【Data ID】要求组内唯一,【Group】组名,【配置格式】以及【配置内容】,点击【发布】:

注:添加【Data ID】时要添加文件类型
新建项目
创建一个SpringBoot项目:

添加【Nacos Configuration】依赖:

<!--nacos 配置中心依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
修改配置文件
将配置文件【application.properties】重命名为【bootstrap.yml】,添加以下内容:
spring:
application:
name: user-service
profiles:
active: dev # 当前环境
cloud:
nacos:
#Nacos 配置中心
config:
server-addr: localhost:8848 # 配置中心地址
username: nacos # 账号
password: nacos # 密码
namespace: 6c3fb5a3-5f6e-485e-8b96-8aaa47baa217 # 命名空间
group: USER_GROUP # 组名
prefix: user-service-config # 读取的目标配置文件 DataID,默认{spring.application.name}
file-extension: yml
注:
需要配置
spring.application.name,是因为它是构成 Nacos 配置管理dataId字段的一部分。在 Nacos Spring Cloud 中,
dataId的完整格式如下:${prefix}-${spring.profiles.active}.${file-extension}
prefix默认为spring.application.name的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置。spring.profiles.active即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当spring.profiles.active为空时,对应的连接符-也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}file-exetension为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension来配置。目前只支持properties和yaml类型。
启动项目,查看控制台打印,可以看到项目以【USER_GROUP】分组下的【user-service-config-dev.yml】配置文件启动:

刷新
通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新:
@RefreshScope
@RestController
public class UserController {
@Value("${user.name}")
private String name;
@GetMapping("/userInfo")
public String getUserId(){
return "name:"+name;
}
}
回滚历史版本
依次点击【更多→历史版本】:

点击对应的【回滚】即可:

读取不同分组的配置文件
创建【DEFAULT_GROUP】分组下的【mybatis-plus-config.yml】配置文件:

创建【DEFAULT_GROUP】分组下的【mysql-config.yml】配置文件:

添加依赖:
<!--mybatis-plus 依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--mysql 依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--druid 依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
编写配置文件,读取三个不同分组的配置文件:
spring:
application:
name: user-service
cloud:
nacos:
#Nacos 配置中心
config:
server-addr: localhost:8848 # 配置中心地址
username: nacos # 账号
password: nacos # 密码
namespace: 6c3fb5a3-5f6e-485e-8b96-8aaa47baa217 # 多配置文件需要在同一命名空间
extension-configs: # 扩展的配置文件【List 集合】
- dataId: user-service-config.yml # 读取的目标配置文件 data id
group: USER_GROUP # 组名,默认 DEFAULT_GROUP
refresh: true # 是否刷新
- dataId: mybatis-plus-config.yml
refresh: true
- dataId: mysql-config.yml
refresh: true
file-extension: yml
启动项目,查看控制台打印,项目成功加载配置文件并成功启动:
Located property source: [BootstrapPropertySource {name='bootstrapProperties-user-service.properties,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-user-service,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-mysql-config.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-mybatis-plus-config.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-user-service-config.yml,USER_GROUP'}]
读取共用配置文件
只需修改上步的配置文件即可,项目启动时会读取【user-service-config.yml】以及和其他服务共享的配置文件:【mybatis-plus-config.yml,mysql-config.yml】:
spring:
application:
name: user-service
cloud:
nacos:
#Nacos 配置中心
config:
server-addr: localhost:8848 # 配置中心地址
username: nacos # 账号
password: nacos # 密码
namespace: 6c3fb5a3-5f6e-485e-8b96-8aaa47baa217 # 多配置文件需要在同一命名空间
prefix: user-service-config # 读取的目标配置文件 data id
group: USER_GROUP
file-extension: yml
shared-configs: # 共享的配置文件【List 集合】
- dataId: mybatis-plus-config.yml # 读取的目标配置文件 data id
refresh: true
- dataId: mysql-config.yml
refresh: true



















