✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。
个人主页:Meteors.的博客
当前专栏: 微服务
✨特色专栏: 知识分享
本文内容:【1.2】Java微服务:SpringCloud概论
**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。主版本号表示重大改变和不兼容性,次版本号表示功能增强和向后兼容的改变,补丁版本号表示错误修复和小的改进。
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文件中导入:
2022.0.1 org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import 或者 在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}" } }
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
由于这些组件是由各个开发它们的公司进行管理,所以依赖这些拓展时,需要点击到具体的页面寻找。下面以SpringCloudAlibaba为例:
1). 找到它们的项目网址并进入
2). 找到对应的使用说明并在项目中导入
在项目中导入:
com.alibaba.cloud aliyun-spring-boot-dependencies 1.0.0 pom import
最后,
相关内容会陆续更新,希望文章对你有所帮助..!
参考文献:
Spring Cloud官网Level up your Java code and explore what Spring can do for you.https://spring.io/projects/spring-cloud