当前位置: 首页 > news >正文

【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

http://www.lryc.cn/news/105833.html

相关文章:

  • OpenMP
  • Eureka 学习笔记4:EurekaClient
  • 前端后端路径问题详解
  • @vue/composition-api原理解析
  • Kubernetes(K8s)从入门到精通系列之三:K8s的基本概念和术语之资源对象概述
  • cc2652在使用过程中的一些注意事项
  • YAPI接口自动鉴权功能部署详解
  • 【雕爷学编程】Arduino动手做(180)---Seeeduino Lotus开发板3
  • 搜索与图论(二)
  • 【SQL】-【计算两个varchar类型的timestamp的毫秒差】
  • Java 微信商家打款到零钱(旧版本接口)
  • Vue+Element ui Study
  • JAVA基础-多线程入门(详解)
  • Cirno‘s Perfect Equation Class 2023牛客暑期多校训练营5 D
  • pytorch学习——如何构建一个神经网络——以手写数字识别为例
  • PySpark 数据操作
  • FPGA2-采集OV5640乒乓缓存后经USB3.0发送到上位机显示
  • 亚信科技AntDB数据库专家参加向量数据库首次技术标准研讨会
  • Windows中实现右键把电子书通过邮件发到kindle
  • Three.js之创建3D场景
  • 一个3年Android的找工作记录
  • CAS原理解析
  • SQL项目实战:银行客户分析
  • 【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—实战篇)
  • ubuntu
  • 【芯片设计- RTL 数字逻辑设计入门 3- Verdi 常用使用命令】
  • python-pytorch基础之cifar10数据集使用图片分类
  • 华纳云:linux下磁盘管理与挂载硬盘方法是什么
  • ChatGPT + Stable Diffusion + 百度AI + MoviePy 实现文字生成视频,小说转视频,自媒体神器!(一)
  • linux strcpy/strncpy/sprintf内存溢出问题