1、Nacos官方文档的说明已经很清晰了。

https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html

2、前提条件

https://nacos.io/zh-cn/docs/quick-start.html

3、下载nacos

https://github.com/alibaba/nacos/releases

我这里下载1.4.1版本

4、启动nacos

startup.cmd -m standalone

5、配置中心

5.1、单配置

5.1.1、创建项目结构如下

5.1.2、在guo中配置依赖管理

    <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

在项目 guo-config 添加依赖

        <dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring-cloud.alibaba}</version>
</dependency>

为了方便测试,添加web的依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

这里需要注意的是几个版本的关系

请参考: https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

我这里使用 Spring Cloud Hoxton.SR8,Spring Cloud Alibaba 2.2.5.RELEASE,Spring Boot 2.3.2.RELEASE

在项目guo-config添加配置文件bootstrap.properties

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=example
spring.cloud.nacos.config.file-extension=yml
  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profiles.active 即为当前环境对应的 profile。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

在nacos添加配置文件 example.yml, 这里我们没有配置 spring.cloud.nacos.config.prefix,spring.profiles.active 所以nacos配置文件名称就会变成 example.yml

编写配置测试类 @RefreshScope 注解将自动刷新配置

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController { @Value("${useLocalCache:false}")
private boolean useLocalCache; /**
* http://localhost:8080/config/get
*/
@RequestMapping("/get")
public boolean get() {
return useLocalCache;
}
}

启动

@SpringBootApplication
public class NacosConfigApplication { public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class, args);
}
}

启动发现这样一行日志: Ignore the empty nacos configuration and get it based on dataId[example.yaml] & group[DEFAULT_GROUP]

表示没有找到配置文件 example.yaml,查看配置文件,发现我们配置的文件后缀为 yaml ,而我们在nacos中的配置文件为 example.yml 所以无法找到naocs配置。修改 bootstrap.properties 中 spring.cloud.nacos.config.file-extension=yml 后重启正常。

调用 http://localhost:8080/config/get 返回结果 false

修改nacos配置【useLocalCache: true】重新访问结果 true

5.2、多配置 编写配置文件 bootstrap.yml

spring:
application:
name: example
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
#第一种配置方式
ext-config:
- data-id: app.properties
group: DEFAULT_GROUP
# refresh: true
- data-id: jdbc.properties
group: DEFAULT_GROUP
- data-id: redis.properties
group: DEFAULT_GROUP
#第二种配置方式,不刷新
shared-dataids: yiwuxia.properties
#第二种配置方式,自动刷新配置
refreshable-dataids: test-one.properties, test-two.properties

2、nacos的更多相关文章

  1. SpringCloud-动态配置变化监控-获取变化(支持Config、Nacos)

    SpringCloud-动态配置变化监控-获取变化(支持Config.Nacos) qq交流群: 812321371 微信交流群: MercyYao 简介 配置中心有原生的 SpringCloud C ...

  2. consul、eureka、nacos对比

    consul.eureka.nacos对比 配置中心 eureka 不支持 consul 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新 nacos 支持 用起来简单, ...

  3. Spring Cloud Alibaba生态探索:Dubbo、Nacos及Sentinel的完美结合

    @ 目录 背景 一.项目框架 1.1 采用IDEA和Maven多模块进行项目搭建 1.2 模块管理及版本管理 二.微服务公共接口 2.1 定义一个公共接口Api 2.2 pom.xml 2.3 Goo ...

  4. Spring Cloud Config、Apollo、Nacos配置中心选型及对比

    Spring Cloud Config.Apollo.Nacos配置中心选型及对比 1.Nacos 1.1 Nacos主要提供以下四大功能 2.Spring Cloud Config 3.Apollo ...

  5. 保姆教程系列二、Nacos实现注册中心

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到  保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+   (Linux ce ...

  6. 学习一下 SpringCloud (二)-- 服务注册中心 Eureka、Zookeeper、Consul、Nacos

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  7. Linux 设置开机自启动脚本(ES、MySQL、Nacos、Nginx)

    /etc/rc.d/init.d 中文件会在 Linux 系统各项服务都启动完毕之后再被运行 cd /etc/rc.d/init.d:新建xxx.sh文件. chmod +x xxx.sh,赋予可执行 ...

  8. 学习一下 SpringCloud (五)-- 配置中心 Config、消息总线 Bus、链路追踪 Sleuth、配置中心 Nacos

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  9. 学习一下 SpringCloud (六)-- 注册中心与配置中心 Nacos、网关 Gateway

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

随机推荐

  1. Linux服务之批量部署篇

    批量部署步骤: 1.检查环境 getenforce               #检查内核防火墙是否关闭 systemctl status firewalld       #检查firewalld是否 ...

  2. Linux进阶之Linux破解密码、yum源配置、防火墙设置及源码包安装

    一.老师语录: 所有要求笔试的公司都是垃圾公司 笔试(是考所有的涉及到的点) 要有自己的卖点.专长(给自己个标签)(至少一个) 生产环境中,尽量使用mv(mv到一个没用的目录下),少使用rm 二.防火 ...

  3. STM32F4-IAP学习笔记--(转)

    花了断断续续两天时间在STM32上面写了一个IAP(In Application Programing)Boot,期间多多少少还是遇到的了不少问题.现在就花点时间把这两天写的东西整理一下,就当是学习笔 ...

  4. python文件处理(对比和筛选)版本2

    场景:对比两个txt文件的差异,将对比结果写入html,将不同部分写入另一个txt #!/user/bin/python #!coding=utf-8 # -*- coding: utf-8 -*- ...

  5. MYSQL导入/迁移后事件不执行

    mysql迁移后事件不执行 查看数据库是否开启事件支持 mysql> show variables like 'event_scheduler'; +-----------------+---- ...

  6. Windows 10, version 21H1 ARM64

    请访问原文链接:https://sysin.org/article/windows-10-arm/,查看最新版.原创作品,转载请保留出处. Windows 10, version 21H1 (rele ...

  7. es 查询更新操作

    # es 查询更新操作# _*_ coding: utf-8 _*_ import time import datetime import pymysql from elasticsearch imp ...

  8. 安装Keras出现的问题

    先是pip install tensorflow  给装好了,但是pip install  keras出现如下的问题: 只好搜帖子,参考如下的帖子,我直接 conda install keras wi ...

  9. nvJPEG库

    nvJPEG库 GPU加速的JPEG解码器,编码器和代码转换器 nvJPEG库是高性能的GPU加速库,用于解码,编码和转码JPEG格式的图像.nvJPEG2000库用于解码JPEG 2000格式的图像 ...

  10. sql 处理数据字段为NULL 若不为空则显示该值,若为空转换成别的值。

    第一种方法: 判断字段是否为空,如果为空转成你要的字符 1.oracle : nvl("字段名",'转换后的值')://字段名是双引号,转换后的值是单引号 2.sql Server ...