首页 文章资讯内容详情

【微服务系列】Spring SpringMVC SpringBoot SpringCloud概念、关系及区别

2026-06-01 4 花语

本文内容纲要:

-一、正面解读 -二、概念解读 -什么是Spring -什么是SpringMVC -什么是SpringBoot -什么是SpringCloud -三、深入解读SpringBoot与SpringBoot的概念与关系 -什么是SpringBoot -什么是SpringCloud -SpringBoot和SpringCloud的关系 -SpringCloud架构 -四、SpringBoot和SpringCloud的区别

一、正面解读

Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示层的显示,Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),Hibernate主要作用是数据的持久化到数据库。

SpringMVC是基于Spring的一个MVC框架,用以替代初期的SSH框架;(springFramework本身没有Web功能,SpringMVC使用WebApplicationContext类扩展ApplicationContext,使得拥有web功能)。

SpringBoot是基于Spring4的条件注册的一套快速开发整合包。

三者的发展与联系:

Spring最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个MVC框架(一些用Spring解耦的组件),用开发web应用(SpringMVC)。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,于是搞了一些懒人整合包(starter),这套就是SpringBoot。

升级云-SpringCloud:现在是大数据、云时代,上云是必然选择,那么SpringCloud应运而生,

二、概念解读

什么是Spring

一个轻量级的控制反转(IoC)和面向切面(AOP)的容器

什么是SpringMVC

spring与mvc可以更好地解释什么是springMvc,MVC为现代web项目开发的一种很常见的模式,简言之C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC,业内常见的mvc模式的开发框架有Struts1,Struts2等。spring作为专业的开发web项目的开源框架,springMvc为内部的一个模块环节,同样采取mvc设计模式。

什么是SpringBoot

Springboot是Spring的一套快速配置脚手架,可以基于springboot快速开发单个微服务,特点:简单易用,初学者和大牛都可以轻松上手,其中的注解会给使用者提供方便;

Springboot对第三方技术进行了很好的封装和整合,提供了大量第三方接口;

可以通过依赖自动配置,不需要XML等配置文件

什么是SpringCloud

spring-colud是一种云端分布式架构解决方案,基于springboot,在springboot做较少的配置,便可成为springcloud中的一个微服务。

三、深入解读SpringBoot与SpringBoot的概念与关系

什么是SpringBoot

SpringBooti简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级別的Spring应用。SpringBoot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不素地开始。多数SpringBoot应用只需要很少的Spring配置。

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,SpringBoot整合了所有的框架。

SpringBoot的核心思想就是约定大于配置,一切自动完成。采用SpringBoot可以大大的简化你的开发模式,所有你想集成的常用框架,它都有对应的组件支持。

什么是SpringCloud

SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线线、负载均衠、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组台起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系統开发工具包。

微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,SpringCloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,SpringCloud做为大管家就需要提供各种方案来维护整个生态。

SpringCloud就是一套分布式服务治理的框架,既然它是一套服务治理的框架,那么它本身不会提供具体功能性的操作,更专注于服务之间的通讯、熔断、监控等。因此就需要很多的组件来支持一套功能。

SpringBoot和SpringCloud的关系

SpringBoot是Spring的一套快速配置脚手架,可以基于SpringBoot快速开发单个微服务,SpringCloud是一个基于SpringBoot实现的云应用开发工具;SpringBoot专注于快速、方便集成的单个微服务个体,SpringCloud关注全局的服务治理框架;SpringBoot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,SpringCloud很大的一部分是基于SpringBoot来实现,可以不基于SpringBoot吗?不可以。SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系

Spring->SpringBoot>SpringCloud这样的关系

SpringCloud架构

我们从整体来看一下SpringCloud主要的组件,以及它的访间流程

1、外部或者内部的非SpringCloud目都统一通过API网关(Zuul)来访可内部服务.

2、网关接收到请求后,从注册中心(Eureka)获取可用服务

3、由Ribbon进行均负载后,分发到后端的具体实例

4、徹服务之间通过Feign进行通信处理业务

5、Hystrix负责处理服务超时熔断

6、Turbine监控服务间的调用和焠断相关指标

四、SpringBoot和SpringCloud的区别

1、Springboot是Spring的一套快速配置脚手架,可以基于SpringBoot快速开发单个微服务;SpringCloud是一个基于SpringBoot实现的云应用开发工具

2、SpringBoot专注于快速、方便集成的单个个体,SpringCloud是关注全局的服务治理框架;

3、Springboot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,SpringCloud很大的一部分是基于SpringBoot来实现。

4、SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系。

本文内容总结:一、正面解读,二、概念解读,什么是Spring,什么是SpringMVC,什么是SpringBoot,什么是SpringCloud,三、深入解读SpringBoot与SpringBoot的概念与关系,什么是SpringBoot,什么是SpringCloud,SpringBoot和SpringCloud的关系,SpringCloud架构,四、SpringBoot和SpringCloud的区别,

原文链接:https://www.cnblogs.com/dream-to-pku/p/9222731.html