【1.3】Java微服务:Spring Cloud版本说明

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。
🍎个人主页:Meteors.的博客
💞当前专栏: 微服务
✨特色专栏: 知识分享
🥭本文内容:【1.3】Java微服务:Spring Cloud版本说明
📚 **ps***  : 阅读这篇文章如果有问题或者疑惑,欢迎各位在评论区提出!


-----------------------------------------------------       目录       ----------------------------------------------------------

目录

 一、关于版本号

二、spring boot与spring cloud的版本

1.如何避免两者版本不匹配

2. 版本对应列表

3. 依赖的导入

 三、关于SpringCloud扩展及其版本

1. 简单介绍

 2.关于依赖的导入及版本问题的解决

1). 找到它们的项目网址并进入

2). 找到对应的使用说明并在项目中导入


--------------------------------------------------------------------------------------------------------------------------------

 一、关于版本号

在点开SpringCloud的官网页面的时候,我们可以看见SpringCloud组件的一些版本,要了解各版本的差异,我们就需要对这些符合标识有所了解。

常见的版本标识说明
版本标识说明
CURRENT表示当前的稳定版本,建议在生产环境中使用。这个版本已经经过了广泛的测试和验证,被认为是相对较为稳定和可靠的版本
GA(General Availability)代表正式发布的版本。当一个版本达到GA状态时,它意味着该版本已经经过了广泛的测试,并且被认为足够稳定和可用,可以供开发者在生产环境中使用
SNAPSHOT指的是正在开发中的最新版本。这个版本可能包含了最新的功能和修复的bug,但也可能存在一些未知的问题和不稳定性。SNAPSHOT版本通常用于开发和测试阶段,不建议在生产环境中使用
M(Milestone)里程碑版本,表示在开发过程中的重要阶段,经过了部分功能的实现和测试。通常用于预览和演示目的,不建议在生产环境中使用。
RC(Release Candidate)候选发布版本,是开发过程中接近正式发布的版本。它经过了广泛的测试和修复,如果没有发现重大问题,RC版本将会成为正式发布的版本。尽管RC版本相对稳定,但仍然建议在生产环境中进行充分测试。
LTS(Long-Term Support)长期支持版本,在一些开源项目中常见。LTS版本会获得更长时间的支持和维护,以提供更稳定和可靠的解决方案。这些版本适合在生产环境中使用,因为它们提供了长时间的更新和修复。

除了上面的一些,还可能会有具体版本号,如 Spring Cloud 2022.1.0。

或者拼接成的版本号,这些版本号通常由主版本号、次版本号和补丁版本号组成,

例如MAJOR.MINOR.PATCH。主版本号表示重大改变和不兼容性,次版本号表示功能增强和向后兼容的改变,补丁版本号表示错误修复和小的改进。

二、spring boot与spring cloud的版本

1.如何避免两者版本不匹配

1) 最好的方法

在刚刚创建项目的时候,就直接将两个模块都进行勾选,而不是手动的导入版本(当然 在Spring的官网上生成也是同理)。

2) 查阅官方文档是解决版本问题(下文会具体说明)
Spring Cloud 项目有详细的官方文档,其中包含了版本兼容性矩阵和建议的版本组合。你可以根据你使用的springboot版本,找到与之兼容的 Spring Cloud 版本。

2. 版本对应列表

由于两个框架都在不断的进行着更新,两者的依赖版本(或者依赖)难免会有差异,所以在引入依赖的时候要找到合适的对应版本。

这个对应的列表在SpringCloud官网上面有,这里就不具体列出了,位置如下图:

当然也有其他方式:

1)  访问下面的网址:

SpringCloud版本兼容信息https://start.spring.io/actuator/info2) 将里面的JSON格式化后,就有显示对应版本了 

(ps:在新建项目的时候,如果两者版本不一致,很有可能会导致项目启动失败。)

3. 依赖的导入

根据自己项目所使用的SpringBoot版本找到对应的SpringCloud版本后。

在pom文件中导入:

<properties>
    <spring-cloud.version>2022.0.1</spring-cloud.version>
</properties>
<dependencyManagement>
    <dependencies>
        <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>

或者 在gradle文件中导入:

plugins {
  id 'java'
  id 'org.springframework.boot' version '3.0.5'
  id 'io.spring.dependency-management' version '1.1.0'
}

ext {
  set('springCloudVersion', "2022.0.1")
}

dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  }
}

 三、关于SpringCloud扩展及其版本

1. 简单介绍

Spring Cloud除了它自身,很多公司也基于它进行了扩展,提供了一系列适用于微服务架构的组件和工具。其中一些常用的会展示在SpringCloud的网站上(如下图所示),方便开发者了解和学习它们。

各拓展详细请见:

1.1SpringCloud入门Spring Cloud 为开发人员提供了快速构建一些常见模式的工具分布式系统(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。协调的分布式系统导致了样板模式,使用 Spring Cloud 开发人员可以快速建立实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑、裸机数据中心和托管平台,如Cloud Foundry。https://blog.csdn.net/m0_63930592/article/details/131075437?spm=1001.2014.3001.5501

 2.关于依赖的导入及版本问题的解决

由于这些组件是由各个开发它们的公司进行管理,所以依赖这些拓展时,需要点击到具体的页面寻找。下面以SpringCloudAlibaba为例:

1). 找到它们的项目网址并进入

2). 找到对应的使用说明并在项目中导入

在项目中导入:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>aliyun-spring-boot-dependencies</artifactId>
            <version>1.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

最后,

        相关内容会陆续更新,希望文章对你有所帮助..!

参考文献:

Spring Cloud官网Level up your Java code and explore what Spring can do for you.https://spring.io/projects/spring-cloud

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/51428.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java面试丨消息中间件】Kafka

一、kafka是如何保证消息不丢失 1. 介绍 使用kafka在消息的收发过程都有可能会出现消息丢失 &#xff08;1&#xff09;生产者发送消息到broker丢失 &#xff08;2&#xff09;消息在broker中存储丢失 &#xff08;3&#xff09;消费者从broker接收消息丢失 2. 生产者发送消…

Day47 算法记录|动态规划14子序列

子序列 1143. 最长公共子序列1035.不相交的线53. 最大子数组和 1143. 最长公共子序列 这道题和718. 最长重复子数组的区别&#xff1a;这道题的子序列可以不连续 这个视频讲解的很好 class Solution {public int longestCommonSubsequence(String text1, String text2) {char…

[Linux]线程基本知识

概念 进程 一个正在执行的程序&#xff0c;它是资源分配的最小单位 进程中的事情需要按照一定的顺序逐个进行 进程出现了很多弊端: 一是由于进程是资源拥有者&#xff0c;创建、撤消与切换存在较大的时空开销&#xff0c;因此需要引入轻型进程&#xff1b; 二是由于对称多…

高德地图JS API升级到2.0版本

项目上反馈高德地图底图信息更新不及时&#xff0c;不利于进行点位规划。经研究发现高德地图JS API 1.4.15版本相对于2.0版本&#xff0c;确实地图切片上的标注信息较少。通过工单的形式询问高德的技术工程师认识到1.4.15版本数据更新有延迟&#xff0c;1.4.15版本地图的数据以…

【微软知识】微软相关技术知识分享

微软技术领域 一、微软操作系统&#xff1a; 微软的操作系统主要是 Windows 系列&#xff0c;包括 Windows 10、Windows Server 等。了解 Windows 操作系统的基本使用、配置和故障排除是非常重要的。微软操作系统&#xff08;Microsoft System&#xff09;是美国微软开发的Wi…

7.27 Qt

制作简易小闹钟 Timer.pro QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # dep…

进程_PCB 的理解

目录 一. PCB 的概念 1. 为什么需要PCB 2. PCB的属性 二. task struct 1. task struct 介绍 2. 查看进程指令 3. PID 4. PPID 父进程是什么&#xff1f; 为什么要有父进程&#xff1f; 5. fork 创建子进程 1) fork 后的现象 为什么会打印两次&#xff1f; 2) 的返…

matplotlib从起点出发(6)_Tutorial_6_Animations

1 在matplotlib中使用动画 基于其绘图功能&#xff0c;matplotlib还提供了一个使用动画模块生成动画animation的接口。动画是一系列帧&#xff0c;其中每个帧对应于图形Figure 上的一个绘图。本教程介绍了有关如何创建此类动画的一般准则以及可用的不同选项。 import matplot…

掌握Python的X篇_16_list的切片、len和in操作

接上篇掌握Python的X篇_15_list容器的基本使用&#xff0c;本篇进行进一步的介绍。 文章目录 1. list的索引下标可以是负数2. 切片&#xff08;slice&#xff09;2.1 切片基础知识2.2 如何“取到尽头”2.3 按照步长取元素2.4 逆序取值 3. len函数获取lis的元素个数4. in操作符…

自动驾驶感知系统--惯性导航定位系统

惯性导航定位 惯性是所有质量体本身的基本属性&#xff0c;所以建立在牛顿定律基础上的惯性导航系统&#xff08;Inertial Navigation System,INS&#xff09;(简称惯导系统)不与外界发生任何光电联系&#xff0c;仅靠系统本身就能对车辆进行连续的三维定位和三维定向。卫星导…

【嵌入式Linux项目】基于Linux的全志H616开发板智能家居项目(语音控制、人脸识别、安卓APP和PC端QT客户端远程操控)有视频功能展示

目录 一、功能需求 二、开发环境 1、硬件&#xff1a; 2、软件&#xff1a; 3、引脚分配&#xff1a; 三、关键点 1、设计模式之工厂模式 2、wiringPi库下的相关硬件操作函数调用 3、语音模块的串口通信 4、线程 5、摄像头的实时监控和拍照功能 6、人脸识别 四、编…

Python web实战 | 使用 Django 搭建 Web 应用程序 【干货】

概要 从社交媒体到在线购物&#xff0c;从在线银行到在线医疗&#xff0c;Web 应用程序为人们提供了方便快捷的服务。Web 应用程序已经成为了人们日常生活中不可或缺的一部分。搭建一个高效、稳定、易用的 Web 应用程序并不是一件容易的事情。本文将介绍如何使用 Django 快速搭…

Python基础入门教程(上)

目录 一、你好Python 1.1、Python安装 win版 Linux版 1.2、第一个Python程序 二、Python基本语法 2.1、字面量 2.2、注释 2.3、变量 2.4、数据类型 type()函数 字符串类型的不同定义方式 2.5、数据类型转换 ​编辑 2.6、标识符 2.7、运算符 2.8、字符串扩展 …

Linux安装kafka3.5.1

要在Ubuntu上安装Apache Kafka&#xff0c;请按照以下步骤操作&#xff1a; 1、安装Java运行时环境(Ubuntu)&#xff1a; 如果已经安装jdk不用执行 sudo apt update sudo apt install default-jre2、下载Kafka&#xff1a; wget https://downloads.apache.org/kafka/3.5.1/…

【【51单片机的红外遥控】】

红外遥控&#xff0c;完全把控 红外遥控 利用红外光进行通信的设备&#xff0c;由红外LED将调制后的信号发出&#xff0c;再由专门的红外接收头进行解调输出 通信方式&#xff1a;单工 异步 红外LED波长&#xff1a;940nm 通信协议标准&#xff1a;NEC标准 用那种一体化红红外…

下级平台级联视频汇聚融合平台EasyCVR,层级显示不正确的原因排查

视频汇聚平台安防监控EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTMP、FLV、HLS、WebRTC等…

如何使用 After Effects 导出摄像机跟踪数据到 3ds Max

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在本教程中&#xff0c;我将展示如何在After Effects中跟踪实景场景&#xff0c;然后将相机数据导出到3ds Max。 1. 项目设置 步骤 1 打开“后效”。 打开后效果 步骤 2 转到合成>新合成以创建新合…

Rust vs Go:常用语法对比(十二)

题图来自 Rust vs Go in 2023[1] 221. Remove all non-digits characters Create string t from string s, keeping only digit characters 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 删除所有非数字字符 package mainimport ( "fmt" "regexp")func main() { s : hei…

运行时数据区

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 类文件被类装载器加载之后&#xff0c;类中的内容&#xff08;比如&#xff1a;变量、常量、方法、对象等&#xff09;这些数据需要存储起来&#xff0c;存储的位置就是在 …

RabbitMQ 教程 | 客户端开发向导

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…