MVC、Spring、SpringMVC、SpringBoot、SpringCloud的区别是什么?

1. MVC:MVC是一种设计模式,即Model模型、View视图以及Controller控制器;


2. Spring:Spring是一个开源框架,是在2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的,框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP),简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架;


3. SpringMVC:SpringMVC是一种WEB层的MVC框架,它是spring的一个模块,属于SpringFrameWork的后续产品,拥有spring的特性。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色;


4. Spring Boot:它不是一个全新的框架,也不是Spring解决方案的替代品,而是对Spring框架的一个封装。所以,以前Spring可以做的事情,现在用SpringBoot都可以做;


5. Spring Cloud:Sping Cloud是Spring的一个顶级项目,是一个微服务框架,提供了全套的分布式应用系统的解决方案。为开发者提供了快速构建分布式系统的工具,使其可以快速的启动服务、构建应用、同时能够快速和云平台资源进行对接。


我们都知道,采用微服务架构,服务的数量会非常多,管理特别麻烦,而 Spring Cloud 就是一套分布式微服务治理框架,可以说是这些微服务的大管家。作为大管家 Spring Cloud 就需要提供各种组件和方案来治理与维护整个微服务系统,比如服务之间的通信、熔断、监控等。Spring Cloud 利用 Spring Boot 的特性集成了开源行业中优秀的组件,在微服务架构中对外提供了一套服务治理的解决方案。


Spring Boot 在 Spring Cloud 中起到了承上启下的作用,如果要学习 Spring Cloud,则必须学习 Spring Boot。三者之间的关系如下图所示。

3.gif

图 3 Spring、Spring Boot和Spring Cloud的关系

我们可以这样理解:正是由于 IoC 和 AOP 这两个强大的功能才有了强大的 Spring;Spring 生态不断地发展才有了 Spring Boot;Spring Boot 开发、部署的简化,使得 Spring Cloud 微服务治理方案彻底落地。

腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/jmUoTwt3BvnMxDIw (转载请保留)。
关注下面的标签,发现更多相似文章