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

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。

🍎个人主页:Meteors.的博客

💞当前专栏: 微服务

✨特色专栏: 知识分享

🥭本文内容:【1.3】Java微服务:Spring Cloud版本说明

📚 **ps*** : 阅读这篇文章如果有问题或者疑惑,欢迎各位在评论区提出!


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

目录

一、关于版本号

[二、spring boot与spring cloud的版本](#二、spring boot与spring cloud的版本)

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

[2. 版本对应列表](#2. 版本对应列表)

[3. 依赖的导入](#3. 依赖的导入)

三、关于SpringCloud扩展及其版本

[1. 简单介绍](#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的官网上生成也是同理)。

  1. 查阅官方文档是解决版本问题(下文会具体说明)

Spring Cloud 项目有详细的官方文档,其中包含了版本兼容性矩阵和建议的版本组合。你可以根据你使用的springboot版本,找到与之兼容的 Spring Cloud 版本。

2. 版本对应列表

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

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

当然也有其他方式:

  1. 访问下面的网址:

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

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

3. 依赖的导入

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

在pom文件中导入:

java 复制代码
<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文件中导入:

java 复制代码
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). 找到对应的使用说明并在项目中导入

在项目中导入:

java 复制代码
<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

相关推荐
考虑考虑1 小时前
Jpa使用union all
java·spring boot·后端
用户3721574261351 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊2 小时前
Java学习第22天 - 云原生与容器化
java
渣哥4 小时前
原来 Java 里线程安全集合有这么多种
java
间彧4 小时前
Spring Boot集成Spring Security完整指南
java
间彧5 小时前
Spring Secutiy基本原理及工作流程
java
Java水解6 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆8 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学8 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole8 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端