- 快速入门
- 问题
- 配置文件中心刷新回滚操作
- 回滚
- 配置读取规则
1,打开Nacous
2.新建配置,注意首先选择命名空间
3.新建一个项目,导入nacous configuration和web依赖
4.更改版本
5.写一个controller,将bootstrap.application改成bootstrap.yml,注意图标编程一个叶子,旁边一个云彩
package com.dcits.nacousconfiga.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@Value("${hreo.name}")
private String name;
@Value("${hreo.age}")
private String age;
@Value("${hreo.address}")
private String address;
@GetMapping("info")
public String info(){
return name+":"+age+":"+address+":";
}
}
6.写yml文件
server:
port: 8081
spring:
application:
name: nacos-config-a
cloud:
nacos:
config:
server-addr: localhost:8848
username: nacos
password: nacos
prefix: nacos-config-a
file-extension: yml
问题
出现报错,原因是项目默认使用GBK编码,而nacos读取配置文件默认使用UTF-8,解决方案
所做的配置文件会进行一个持久化,保存在mysql的config_info表中
当在nacos中修改配置时候,已启动的客户端是无法实时更新配置数据的,需要添加@RefreshScope注解
一般是将配置文件中的信息单独放入一个类中,添加lombok依赖
org.projectlombok lombok
package com.dcits.nacousconfiga.config;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@RefreshScope
public class Hero {
@Value("${hero.name}")
private String name;
@Value("${hero.age}")
private String age;
@Value("${hero.address}")
private String address;
}
在Controller中注入
测试成功:
改动记录会在his_config_info表中保存
在更多选项中有历史版本
可以进行回滚操作
nacos 配置中心通过 namespace、dataId 和 group 来唯一确定一条配置。
-
Namespace:即命名空间。默认的命名空间为 public,我们可以在 Nacos 控制台中新建 命名空间;
-
dataId:即配置文件名称
-
Group : 即 配 置 分 组 , 默 认 为 DEFAULT_GROUP , 可 以 通 过spring.cloud.nacos.config.group 配置。
格式
${prefix} - ${spring.profiles.active} . ${file-extension}
-
prefix 默 认 为 spring.application.name 的 值 , 也 可 以 通 过 配 置 项 spring.cloud.nacos.config.prefix 来配置;
-
spring.profiles.active 即 为 当 前 环 境 对 应 的 profile 。 注 意 , 当 spring.profiles.active 为空时,对应的连接符-也将不存在,dataId 的拼接格式变 成 p r e f i x . {prefix}. prefix.{file-extension};
-
file-extension 为 配 置 内 容 的 数 据 格 式 , 可 以 通 过 配 置 项 spring.cloud.nacos.config.file-extension 来配置。



