Spring boot集成Nacos-配置中心详解

该文档是基于spring cloud版本进行开发。

Nacos持久化可以参考:https://mp.weixin.qq.com/s/6khhRU46J2kFJKUBuDyTGQ

项目集成

依赖

最新版本可以参考https://github.com/spring-cloud-incubator/spring-cloud-alibaba/releases

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

配置文件

这里有两个坑:1、配置文件必须是bootstrip.properties或者bootstrip.yml,如果配置application.properties或者application.yml会导致加载不到配置;2、spring.cloud.nacos.config.namespace如果是默认的Public,则不需填写,否则获取不到配置信息

#指定开发环境
spring.profiles.active=dev
#服务器地址
spring.cloud.nacos.config.server-addr=127.0.01:8848
#默认为Public命名空间,不需要写,如果加上的话会导致加载不到配置文件
spring.cloud.nacos.config.namespace=686b723d-e1e6-4f6a-ba2b-cdee09dc8dae
#文件名 -- 如果没有配置则默认为 ${spring.appliction.name}
spring.cloud.nacos.config.prefix=dhap
#指定文件后缀
spring.cloud.nacos.config.file-extension=yaml
#指定分组信息
spring.cloud.nacos.config.group=AAA

Nacos配置

命名空间

nacos使用namespace进行环境隔离,可以指定不同的环境,更好的管理开发、测试、生产的配置文件管理

资源配置

Data ID

Data ID的格式如下:

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

${prefix}-${spring.profile.active}.${file-extension}

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

    Group

    默认为DEFAULT_GROUP,可以对不同类型的微服务配置文件进行分组管理。配置文件通过spring.cloud.nacos.config.group=AAA来指定。

    配置内容

    配置文件格式支持一下几种TEXT、JSON、XML、YAML、HTML、Properties

配置操作

历史版本

资源文件每次修改都会记录一个历史版本,历史记录默认保存时间为30天,可以根据历史记录看到每次更新的内容。还可以让指定的记录文件回滚至上一个版本。

监听查询

可以监听每个具体资源文件由哪些ip进行访问

项目示例

启动类

@SpringBootApplication(scanBasePackages= {"com.dhap"})
@EnableDiscoveryClient
public class Application {
    public static void main(String [] args){
        SpringApplication.run(Application.class, args);
    }
}

调用示例
要实现配置文件实时生效需要加注解:@RefreshScope

@RequestMapping("/test")
@RestController
@RefreshScope
public class TestController  {

    @Autowired
    private TestService<Test> tsService;

    @GetMapping("/nacos")
    public String get() {
        return test;
    }

    @Value(value = "${test}")
    private String test;

    }

原文地址:https://blog.51cto.com/12259124/2421796

时间: 2024-10-01 06:34:20

Spring boot集成Nacos-配置中心详解的相关文章

spring boot 1.5.4 配置文件详解(八)

上一篇:spring boot 1.5.4 集成spring-Data-JPA(七) 1      Spring Boot配置文件详解 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在appli

Spring Boot的每个模块包详解

Spring Boot的每个模块包详解,具体如下: 1.spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2.spring-boot-starter-actuator 帮助监控和管理应用. 3.spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol). 4.spring-boot-starter-aop 支持面向方面的编程

Spring Boot源码中模块详解

Spring Boot源码中模块详解 一.源码 spring boot2.1版本源码地址:https://github.com/spring-projects/spring-boot/tree/2.1.x 二.模块 Spring Boot 包含许多模块,以下是一些简单的概述: 1,spring-boot 为Spring Boot其他部分功能提供主要的lib包,其中包含:(1)SpringApplication类提供了静态便利的方法使编写独立的SpringApplication更加容易.它唯一的任

idea spring+springmvc+mybatis环境配置整合详解

idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2.查看idea中是否安装Maven插件: 2.1:File --> Settings --> Plugins 2.2:如下图所示的步骤进行操作(注:安装完插件,idea会重新启动) 3.idea创建Maven项目的步骤 4.搭建目录结构 下图就是我搭建Maven项目之后,添加对应的目录和文件 5.p

Spring Boot 核心配置文件 bootstrap &amp; application 详解。

用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .properties) 为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗? bootstrap/ application 的区别 特意去翻了下 Spring Boot 的官方文档,没有找到关于这两种文件的具体定义,然后再翻了下 Spring Cloud 的官方文档找到了它们的区别. ht

Spring Cloud Alibaba nacos 配置中心使用

背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring-cloud-alibaba-basis 基础依赖 工程里面制定我们要用到的公用的版本 spring boot 版本 2.1.7.RELEASE spring cloud 版本 Greenwich.RELEASE spring cloud 阿里巴巴的版本 2.1.0.RELEASE Spring IO Platfo

中小团队落地配置中心详解

不知道配置文件上次什么时候修改的.修改了什么内容?改了配置文件还要重新发布项目或者手动触发重启服务?无缘无故发现配置文件错了影响到线上正常部署?你是否正在因为这些问题而困扰?50+线上项目,数百+配置文件,我们经常被这些配置文件虐的生无可恋,是时候作出改变了!本文将带你解决这些问题,喝着咖啡轻松运维 配置中心选型 选型的原则:简单,易落地,不挑平台,不挑语言,尽量少的依赖. 对比了Disconf.Apollo等方案,最终选择了Etcd+Confd的方案,基本符合上边的原则,且Etcd我们在部署K

spring boot 配置文件properties和YAML详解

properties中配置信息并获取值. 1:在application.properties配置文件中添加: 根据提示创建直接创建. 怎么在程序中引用这个值呢? 浏览器访问: 我们可以看到输出的值. 说明: Application属性配置文件的优先顺序 2:端口修改 在application.properties中直接使用: server.port=8888 保存后,spring boot会自动帮我们重启. 我们可以看到重启后的端口就为8888了. 3:日期格式: 在上一节课中我们访问saveu

spring boot集成zookeeper注册中心

ZooKeeper是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等 ZooKeeper是一个树形结构的目录服务,支持变更推送 在ZooKeeper中,节点分为两类: 机器节点: 指构成集群的机器 数据节点ZNode: 指数据模型中的数据单元 ZooKeeper将所有数据存储在内存中,数据模型是一棵树(ZNode Tree),由斜杠(/)进行分割的路径,就是一