返回顶部
首页 > 资讯 > 后端开发 > Python >Springboot深入讲解nocos的整合与使用
  • 347
分享到

Springboot深入讲解nocos的整合与使用

2024-04-02 19:04:59 347人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言1,  创建工程2,启动Nacos-server服务3,编写controller进行动态配置生效4,添加配置文件boostrap.yaml5,nacos配置前言 N

前言

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施

1,  创建工程

先创建Maven工程,父工程pom如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="Http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>configDemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-WEB</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

2,启动nacos-server服务

访问的url是:http://localhost:8848/nacos/ 默认端口是8848,账号密码是:nacos/nocos

3,编写controller进行动态配置生效

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RefreshScope  //@RefreshScope:需要配置这个才能动态更新配置。
public class TestController {
    @Value("${name}")
    private String name;
    @GetMapping("/getName")
    public String test(){
        return name;
    }
}

4,添加配置文件boostrap.yaml

SpringBoot默认加载配置文件顺序:

bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml 其中bootstrap.properties 配置为最高优先级先加载的会被后加载的覆盖掉,所以.properties和.yml同时存在时,.properties会失效,.yml会起作用。”

#端口
server:
  port: 8888
#配置项目名称
spring:
  application:
    #configdemo默认是nacos的DateId名称
    name: configdemo
  #指定test的配置文件
  profiles:
    active: test
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        #加载yaml的nacos文件
        file-extension: yaml

可以看到启动时进行加载了文件如下:

5,nacos配置

配置了configdemo和configdemo-test.yaml

注意的是:它的加载规则是:# 1.Dataid

- 用来读取远程配置中心的中具体配置文件其完整格式如下:

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

a. prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。

b. spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}

c. file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

如果configdemo和configdemo-test.yaml 都存在name的配置,优先configdemo-test.yaml

访问结果如下:

以上是针对同个服务不同环境配置应用情况。

到此这篇关于Springboot深入讲解nocos的整合与使用的文章就介绍到这了,更多相关Springboot nocos内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Springboot深入讲解nocos的整合与使用

本文链接: https://lsjlt.com/news/164553.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Springboot深入讲解nocos的整合与使用
    目录前言1,  创建工程2,启动nacos-server服务3,编写controller进行动态配置生效4,添加配置文件boostrap.yaml5,nacos配置前言 N...
    99+
    2024-04-02
  • springboot聚合工程的部署与深入讲解
    目录1.什么是聚合工程2.聚合工程优势3.创建聚合工程4.父工程详解1.pom文件5.ruoyi-modules子工程配置1.pom文件总结1.什么是聚合工程 如下图所示,拥有父子...
    99+
    2024-04-02
  • ES6中Set与WeakSet集合的深入讲解
    目录Set是值永不重复的特殊集合Set集合基础API关于唯一值的判断Set集合遍历的3种方式Set集合案例实践Set集合与Array数组之间的转换单个数组去重多个数组合并去重获取交集...
    99+
    2024-04-02
  • SpringBoot整合Mybatis与MybatisPlus方法详细讲解
    目录一、整合MyBatis操作1、配置模式2、注解模式3、混合模式二、整合 MyBatis-Plus 完成CRUD1、什么是MyBatis-Plus2、整合MyBatis-Plus3...
    99+
    2023-01-28
    SpringBoot整合Mybatis SpringBoot整合MybatisPlus
  • SpringBoot整合RestTemplate用法讲解(完整详细)
    前言:本篇主要介绍了RestTemplate中的GET,POST,PUT,DELETE、文件上传和文件下载6大常用的功能,每一个方法和每一行代码都进行了详细的讲解,代码都是亲自测试过的,整篇博客写完以后自己也是受益匪浅,于是在这做个技术...
    99+
    2023-09-06
    spring boot java maven spring
  • 如何用SpringBoot整合Redis(详细讲解~)
    大家好,我是卷心菜。本篇主要讲解用SpringBoot整合Redis,如果您看完文章有所收获,可以三连支持博主哦~,嘻嘻。 文章目录 一、前言二、基本介绍三、SpringDataRedis四、API的简单认识五、快速入门1、引入...
    99+
    2023-08-20
    redis spring boot java
  • SpringBoot深入讲解单元测试与热部署应用
    目录一、单元测试1.添加spring-boot-starter-test测试依赖启动器2.编写单元测试类和测试方法二、热部署1.添加spring-boot-devtools热部署依赖...
    99+
    2024-04-02
  • C++深入讲解类与封装的概念与使用
    目录一、类的组合二、类的封装三、类成员的作用域四、小结一、类的组合 电脑一般而言是由 CPU,内存,主板,键盘和硬盘等部件组合而成。 二、类的封装 类通常分为以下两个部分 类的实现...
    99+
    2024-04-02
  • Java深入讲解SPI的使用
    目录什么是Java SPIJava SPI使用demoSPI在JDBC中的应用SPI在sharding-jdbc中的应用扩展什么是Java SPI   &ensp...
    99+
    2024-04-02
  • C++深入讲解namespace与string关键字的使用
    目录namespace1.为什么使用namespace2.namespace的定义3.namespace的使用4.使用using指示符string1.string的定义及初始化2.访...
    99+
    2024-04-02
  • C++深入讲解new与deleted关键字的使用
    目录可执行程序的虚拟地址空间1.new的运算符用法(关键字)2.new的函数用法3.定位new4.new创建对象5.delete6.对于内置类型new/delete/malloc/f...
    99+
    2024-04-02
  • java、spring、springboot中整合Redis的详细讲解
    目录java整合Redis1、引入依赖或者导入jar包2、代码实现Spring整合Redis1、添加依赖2、redis配置文件3、注入模板对象springboot整合Redis1、添...
    99+
    2024-04-02
  • SpringBoot深入了解日志的使用
    目录1. 日志的作用2. 日志怎么用3. 自定义日志打印3.1 得到日志对象3.2 使用日志对象提供的方法打印日志3.3 日志格式说明4. 日志级别4.1 日志级别分类4.2 日志级...
    99+
    2024-04-02
  • C语言深入讲解宏的定义与使用方法
    目录一、C语言中的宏定义二、宏定义表达式三、宏表达式与函数的对比四、有趣的问题五、强大的内置宏六、小结一、C语言中的宏定义 #define是预处理器处理的单元实体之一#define ...
    99+
    2024-04-02
  • C语言深入讲解指针与结构体的使用
    目录1 啥是指针1.1指针与指针变量1.2总结2 指针和指针类型2.1指针+-整数3 野指针3.1 野指针的成因1指针未初始化2指针越界访问3指针指向的空间释放3.2 如何避免野指针...
    99+
    2024-04-02
  • AndroidViewModel的作用深入讲解
    ViewModel它的作用是什么呢 ViewModel 类旨在以注重生命周期的方式存储和管理界面相关数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存(官方解释)...
    99+
    2023-05-20
    Android ViewModel Android ViewModel作用
  • Golang Makefile示例深入讲解使用
    目录从入门示例开始makefile语法详解再来一个完整示例总结Makefile提供有效方式实现自动化构建任务,与Java中的Maven类似。Makefile主要应用场景为使用目标(标...
    99+
    2023-01-12
    Go Makefile Go Makefile示例
  • springboot整合websocket最基础入门使用教程详解
    项目最终的文件结构 1 添加maven依赖 <dependency> <groupId>org.springframework.boot...
    99+
    2024-04-02
  • Springboot详解如何整合使用Thymeleaf
    目录引入Thymeleaf取值有无转义循环模板引擎的作用就是我们来写一个页面模板,比如有些值呢,是动态的,我们写一些表达式。而这些值,从哪来呢,就是我们在后台封装一些数据。然后把这个...
    99+
    2024-04-02
  • springBoot整合redis使用案例详解
    一、创建springboot项目(采用骨架方式) 创建完成; 我们分析下pom文件中内容: 所使用到的关键依赖: <!--springBoot集成redis-...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作