案头见蠹鱼,犹胜凡俦侣。这篇文章主要讲述Spring Cloud Alibaba入门九:Nocas配置中心(入门)相关的知识,希望能为你提供帮助。
1. 环境准备
1.1 搭建Nacos环境
1.2 使用Nacos创建配置文件
1.2.1 创建命名空间(可略过)
文章图片
1.2.2 权限控制(可略过)
文章图片
1.2.2.2 创建角色
文章图片
1.2.2.3 权限管理
文章图片
1.2.3 配置管理(重点关注)
文章图片
文章图片
文章图片
2. 项目准备
文章图片
3. 引入Nacos配置中心依赖4. 编辑配置文件 4.1 bootstrap.yml与application.yml加载执行顺序:
4.2 编辑Springboot配置文件application.yml
server:
port: 8050
spring:
application:
# 应用名称(Nacos会将该名称当做服务名称,同时也是配置管理中默认的Data ID)
name: nacos-config-service
profiles:
# 运行环境(这里对应Nacos的命名空间)
active: dev
文章图片
4.3 编辑Spring Cloud配置文件bootstrap.yml
4.3.1 基本概念
文章图片
4.3.2 配置信息
# Nacos的Data ID详解:
#Nacos配置管理中,配置文件的Data ID的默认格式如下:
#${prefix}
#Nacos配置管理中,配置文件的Data ID的完整格式如下:
#${prefix} - ${spring.profiles.active} . ${file-extension}
#Data ID格式说明:
#1.${prefix}默认为spring.application.name的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置,注意:除了默认配置文件的Data ID,其他配置文件的Data ID必须写上后缀
#2.${spring.profiles.active}取spring.profiles.active的值,如(dev、prod、test);
注意:当${spring.profiles.active}为空时,对应的连接符"-"也将不存在,Data ID的拼接格式变成${prefix}.${file-extension}
#3.${file-extension}为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension来配置;
目前只支持properties和yaml类型
#4.建议采用默认格式,使用不同的表空间来放置不同的配置文件spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
# 指定命名空间,默认:public
namespace: dev
# 指定命名空间下的分组,默认:DEFAULT_GROUP
group: order
# Nacos配置管理中dataId的前缀名称,默认为spring.application.name的值
prefix: com.qfx.springcloud.config
# Nacos配置管理中配置内容的数据格式,默认.Properties(可不写)
file-extension: yaml
# 引用其他配置文件(方式一),以数组形式存放,文件优先级低于extension-configs引用方式
shared-configs:
# 下标[0],下标越大优先级越高
- data-id: com.qfx.springcloud.common.properties
# 动态感知Nacos配置文件信息的改变,默认false
refresh: true
# 默认DEFAULT_GROUP
group: common-001
# 下标[1],下标越大优先级越高
- data-id: com.qfx.springcloud.common.properties
refresh: true
# 引用其他配置文件(方式二),以数组形式存放,文件优先级高于shared-configs引用方式
extension-configs:
# 下标[0],下标越大优先级越高
- data-id: com.qfx.springcloud.common.properties
refresh: true
group: common-002
# 下标[1],下标越大优先级越高
- data-id: com.qfx.springcloud.common.properties
refresh: true
group: common-003
# 配置文件优先级(优先级大的会覆盖优先级小的,并形成互补),唯独prefix与默认配置文件(spring.application.name)互斥,prefix会覆盖默认配置文件,默认配置中所有配置信息都不会生效
# 优先级如下:
# spring.cloud.nacos.config下的prefix完整格式
#↓
# spring.cloud.nacos.config下的prefix默认格式
#↓
# 默认配置文件(spring.application.name)
#↓
# extension-configs(下标越大优先级越高)
#↓
# shared-configs(下标越大优先级越高)
4.4 创建" 4.3.2 配置信息" 中的配置文件
文章图片
文章图片
4.4.1 默认配置文件,order组
文章图片
4.4.2 默认格式文件,DEFAULT_GROUP默认组
文章图片
4.4.3 默认格式文件,order组
文章图片
4.4.4 完整格式文件,order组
文章图片
4.4.5 公共配置文件,common-001组
文章图片
4.4.6 公共配置文件,common-001组
文章图片
4.4.7 公共配置文件,common-001组
【Spring Cloud Alibaba入门九:Nocas配置中心(入门)】
文章图片
5. 创建一个测试类
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RefreshScope// 动态感知Nacos配置文件信息的改变
@RequestMapping("test")
public class TestCtl {@Value("${user.name}")// 获取配置文件中的key值
String userName;
@Value("${user.age}")// 获取配置文件中的key值
int age;
@Value("${config.name}")// 获取配置文件中的key值
String configName;
@RequestMapping("configInfo")
public String configInfo() {
String str = "userName=" + userName +"<
br/>
age=" + age + "<
br/>
configName=" + configName;
return str;
}
}
文章图片
6. 启动测试6.2 prefix完整格式
7. Nacos中的使用 7.1 application.yml(application.properties)获取Nacos中的参数值
文章图片
推荐阅读
- 「无代码」高效的爬取网页数据神器
- Spring功能介绍SpringMVC集成Java Bean Validation实现参数检验功
- 2021年巨热门的Python爬虫框架大推荐
- 分布式软总线让阿里巴巴商家玩转多设备直播
- LINUX学习第四天
- Virtualbox 接入华三网络模拟器HCL网络环境设置
- DNS
- Ansible Service模块手册
- 为什么WordPress仍然说我的PHP max输入变量尚未更新()