【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

相关推荐
JH30737 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_8 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble8 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟8 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖8 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_124987075310 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.10 小时前
Day06——权限认证-项目集成
java
瑶山10 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy10 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法