前提

安装了Nacos服务端并登陆到其控制台页面。

创建一个Springboot工程。

Nacos配置:(相关概念后面说明):
创建一个命名空间,当然,也有默认的命名空间。

创建配置文件:

整合

第一步:引入Pom依赖:

springboot的版本是1.x就引入0.1.x,springboot版本是2.x就引入0.2.x版本。

<dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.7</version></dependency>

第二步:配置Nacos Server地址:

#server地址
nacos.config.server-addr=127.0.0.1:12580#配置配置的namespace,就是刚刚创建的那个
nacos.config.namespace=fe06ce62-aef9-4b78-b0cd-512e4bc56e3c

第三步:编写Controller类:

@RestController
@RequestMapping("/nacos")//groupId
//dataId
//@NacosPropertySource(dataId = "aaa")
@NacosPropertySource(groupId = "NACOS-TEST-GROUP",dataId = "NACOS-TEST-DATA-ID",autoRefreshed = true)
public class NacosDemoController {@NacosValue(value = "${nacos.info:默认值}",autoRefreshed = true)private String info;@GetMapping("/project-info")public String projectInfo(){return info;}
}

使用注解@NacosPropertySource配置需要引入的外部配置的namespace、groupId、dataId等信息。
使用注解@NacosValue来引入配置文件中的具体配置项,使用${}表达式,冒号后可以填写默认值,当配置项不存在或者获取失败后,使用该默认值赋值。
autoRefreshed 代表是否自动动态刷新配置,默认false。

启动访问该接口:

成功。并且修改配置后,会动态刷新。

一些概念

NameSpace:
用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

GroupId:
Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。

DataId:
Nacos 中的某个配置集的 ID。配置集 ID 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID 通常采用类 Java 包(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。

一个实践是:
使用NameSpace来定义环境,比如开发环境(dev)、测试环境(test)、生产环境(prod)。

使用GroupId来定义不同的应用,比如支付应用Pay,商品应用Goods。

使用DataId来区分配置,比如线程池的配置ThreadPoolConfig,数据源的配置,Redis配置,MQ配置等。

所以就可以有多条线:
dev环境-pay应用-数据源配置。
dev环境-pay应用-Redis配置。
test环境-pay应用-数据源配置。
test环境-pay应用-Redis配置。
prod环境-pay应用-数据源配置。
prod环境-pay应用-Redis配置。

或者有些人喜欢使用NameSpace来区分应用,使用GroupId来区分环境,这种看个人习惯。

Springboot整合Nacos配置中心相关推荐

  1. 整合nacos配置中心启动报c.a.c.n.c.NacosPropertySourceBuilder: 101 - get data from Nacos error,dataId:xxx.yml

    场景: SpringBoot项目整合nacos配置中心,开启nacos-server端的权限控制后,项目启动报如下错误: c.a.c.n.c.NacosPropertySourceBuilder: 1 ...

  2. springboot整合nacos配置实现实时更新

    原文链接:http://wuwenliang.net/2019/02/22/springboot2-x%E6%95%B4%E5%90%88nacos%E9%85%8D%E7%BD%AE%E6%9C%8 ...

  3. SpringBoot整合Apollo配置中心快速使用

    一.简介 1.Apollo 是什么?Apollo(阿波罗)是携程框架部门研发的分布式配置中心.服务端基于Spring Boot和Spring Cloud开发. 2.为什么要使用Apollo? 安全性: ...

  4. Nacos配置中心用法详细介绍

    上篇文章介绍了 Nacos 作为注册中心的用法,除此之外,Nacos 还能作为配置中心使用,那这篇文章就介绍下 Nacos 作为配置中心的基本用法,首先我们先了解下为什么需要使用配置中心. 一.为什么 ...

  5. 【Nacos】Nacos配置中心的使用与SpringCloud整合

    在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),这样配置就分散了,不仅如此,分散中还包含着冗余.配置中心将配置从各应用中剥离出来,对配置进行 ...

  6. Nacos教程_3 整合SpringCloud(配置中心+服务发现)

    教程原稿 https://gitee.com/fakerlove/joker-nacos 文章目录 3. 整合SpringCloud(配置中心+服务发现) 3.1 写配置 3.2 创建父工程demo ...

  7. Spring boot整合nacos注册中心/配置中心报错:java.lang.IllegalArgumentException: no server available

    1.问题描述 我是近期在使用Springboot整合nacos,由于springboot和springcloud都是用最新版本,啪的一下,很快啊,就出现问题了,于是自己把版本降下来了,年轻人不讲武德降 ...

  8. nacos整合springmvc:解决使用@Value或@NacosValue无法从nacos配置中心动态获取最新配置数据问题

    nacos整合springmvc:解决使用@Value或@NacosValue无法从nacos配置中心动态获取最新配置数据问题 1.出现无法动态获取最新配置数据的项目配置: (1)使用的nacos-s ...

  9. SpringBoot整合nacos实现参数配置

    SpringBoot整合nacos实现参数配置 1.nacos安装 2.项目配置 配置文件 3.nacos配置 4.启动 1.nacos安装 首先,这里的版本号用的是linux的1.4.1 链接:ht ...

最新文章

  1. notepad++ html格式化
  2. C++ STL 之 map
  3. php 设置post大小_php 修改上传文件大小限制实例详解
  4. rip c语言,GNU C 对标准C语言的扩展
  5. java从控制台输入数组_Java将控制台输入的一行整数转成整型数组
  6. Java多线程系列--“JUC锁”10之 CyclicBarrier原理和示例
  7. 秒杀的倒计时按钮实现
  8. 世界是平的,这本书主要是写给美国人看的
  9. jsmind 线条_jsmind/2.options.md at master · hizzgdev/jsmind · GitHub
  10. html中置顶的命令行是啥,html怎么把置顶
  11. kiv8测量方法_室内门标准及测量方法
  12. .html怎么查看源代码,html的网页源代码怎么查看
  13. 政府行业数据保护方案
  14. DevExpress 控件使用之XtraReport
  15. 缓存的那些应用场景,你都清楚吗?
  16. Java解析OpenDrive,OpenDrive格式解析
  17. html怎么设置图片宽高比,CSS力图像调整尺寸和保持高宽比
  18. 云+未来峰会安全专场总结:智慧安全护航企业数字化转型
  19. 说说我在家乡山东日照的面试经历以及对家乡互联网产业的一些认识吧
  20. 哈工大和复旦计算机考研分数线,厦大 复旦 哈工大出分数线了 进来参考吧

热门文章

  1. 【BZOJ1965】【codevs1446】洗牌,快速幂+扩展欧几里德
  2. linux c 文件拷贝函数,Linux C函数库参考手册
  3. python怎么把excel单元格里面的文字提取出来_干货 | Excel如何花式秀操作?
  4. bzoj2424 [HAOI2010]订货 费用流
  5. nuttx linux 编译,linux下建立nuttx开发环境
  6. mysql恢复数据库 慢_Mysqldump导入数据库很慢的解决办法
  7. python程序内存分析_python 如何测量运行中的程序内存 -- Valgrind
  8. php 小程序自定义图,微信小程序之如何使用自定义组件封装原生 image 组件
  9. mysql 5.7 ddl 原子_mysql 8 新特性二DDL操作的原子化
  10. opencv 叠加文字_opencv 图像上添加文字