Spring和SpringBoot及SpringCloud之间的关系是怎样的

2024-03-14,,

本篇文章为大家展示了Spring和SpringBoot及SpringCloud之间的关系是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

  现在我们已经初步清楚遇到了什么问题,接下来我们一起来看一下,SpringCloud是如何帮助我们应对这些挑战的?它会给应用开发带来哪些变化呢?我们人类文明的发展主要体现在分工合作上,就像水电成为基础设施之后,我们每家每户就不会自己生产水和电了,技术的发展也符合这个趋势,云计算就是将一些通用的、标准的技术纳入到基础设施范畴,让我们可以聚焦在业务领域,通过分工协作来提升交付的效率。SpringCloud也是遵循上述规则,从不同维度帮我们应用开发做了许多辅助工作,让应用开发变得更加简单。

Spring、SpringBoot、SpringCloud之间的关系

  Spring作为应用开发框架已经存在很多年了,随着JAVA开发技术的不断发展丰富,Spring的体量变得越来越大,配置使用也变得越来越复杂,尤其是云计算和微服务等新技术的出现,SpringBoot和SpringCloud应运而生了,新概念容易让人困惑,我们有必要厘清它们彼此的关系:

Spring

  SpringFramework,一个开源Java/JavaEE全功能栈的应用开发框架,包含了展示层、领域层、数据层等主流的技术框架:

  核心容器(CoreContainer)

  Spring-Core:核心工具类,Spring其他模块大量使用Spring-Core;

  Spring-Beans:Spring定义Bean的支持;

  Spring-Context:运行时Spring容器;

  Spring-Context-Support:Spring容器对第三方包的集成支持;

  Spring-Expression:使用表达式语言在运行时查询和操作对象;

  AOP

  Spring-AOP:基于代理的AOP支持;

  Spring-Aspects:基于AspectJ的AOP支持;

  消息(Messaging)

  spring-Messaging:对消息架构和协议的支持。

  Web

  Spring-Web:提供基础的Web集成的功能,在Web项目中提供Spring的容器;

  Spring-WebMVC:提供基于Servlet的SpringMVC;

  Spring-WebSocket:提供WebSocket功能;

  Spring-WebMVC-Portlet:提供Portlet环境支持;

  数据访问/集成(DataAccess/Integration)

  Spring-JDBC:提供以JDBC访问数据库的支持;

  Spring-TX:提供编程式和声明式的事务支持;

  Spring-ORM:提供对对象/关系映射技术的支持;

  Spring-OXM:提供对对象/XML映射技术的支持;

  Spring-JMS:提供对JMS的支持;

  除此之外,围绕着SpringFramework已经形成一个庞大的生态圈,包含SpringData、SpringBatch、SpringSecurity、SpringIntegration、SpringAMQP、SpringMobile、SpringforAndroid、SpringWebFlow、SpringShell等顶级子项目,通过复用让开发者可以快速开发业务应用。

SpringBoot

  SpringBoot对Spring做了一层简单包装,简化了Spring应用的开发,通过编写少量的代码就能搭建一个简单的应用。它秉持默认约定大于配置的理念,简化了原本复杂的配置文件,为Spring和第三方库提供开箱即用的设置,提供一套快速开发单个微服务的脚手架,让我们上手和开发更加方便高效。

SpringCloud

  一套分布式服务治理的框架,为我们提供分布式服务所依赖的配置中心、服务注册发现、断路器、负载均衡、微代理、消息总线、数据监控等套件。SpringBoot是Spring的快速配置脚手架,我们可以基于SpringBoot快速开发单个微服务,SpringCloud是基于SpringBoot的微服务开发套装;SpringBoot专注于快速地开发单个微服务,SpringCloud关注全局的服务治理框架。

  Spring没有重复发明轮子,它只是将目前各家公司比较成熟、经过考验的服务框架组合起来,通过SpringBoot封装屏蔽了复杂的配置和实现原理,最终给开发者提供了一套简单易懂、易部署和易维护的分布式系统开发工具包。微服务是可以独立部署、水平扩展、独立访问的服务单元,SpringCloud就是这些微服务的大管家,微服务架构下组件的数量会非常多,SpringCloud需要提供各种方案来管理整个生态。SpringBoot可以不依赖SpringCloud独立使用,但是SpringCloud离不开SpringBoot,它们的依赖关系就是:

  Spring->SpringBoot>SpringCloud

上述内容就是Spring和SpringBoot及SpringCloud之间的关系是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注本站行业资讯频道。

《Spring和SpringBoot及SpringCloud之间的关系是怎样的.doc》

下载本文的Word格式文档,以方便收藏与打印。