SpringMVC、SpringBoot和SpringCloud的区别

       Spring MVC是一个前端的MVC框架,它提供了一种轻度耦合的方式来开发Web应用,通过DispatcherServlet、ModelAndView以及ViewResolver的联合使得Web应用开发变得更加容易。SpringMVC采用“请求-响应”的模型将Web层进行解耦,项目结构分层明显职责划分清晰,控制器负责接受请求、委派处理给其他Bean然后返回请求响应,通过Spring被注入的其他Bean则支持了具体的业务执行,然后以ModelAndView的方式返回响应内容。SpringMVC主要解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎和静态Web资源等。优点:SpringMVC简单但是灵活性强,框架易于扩展。缺点:SpringMVC与Servlet耦合,不能脱离容器独立运行;框架过于细分使得开发效率低。

       SpringBoot是一个轻量级,简化配置和开发流程的web整合框架。Spring Boot引入自动配置的概念,约定优于配置,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),防止依赖冲突,大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。Spring Boot只是承载者,辅助开发者简化项目搭建过程的。SpringBoot提供服务单独运行的能力,而且内嵌容器如Tomcat、Jetty或者Undertow等,SpringBoot的项目在配置上做到了极简,通过spring自动配置让你解脱对项目配置依赖的过分关注,同时,SpringBoot的注解方式让我们从纷繁复杂的XML配置中彻底的解放了出来。SpringBoot 要解决的问题:1、如何精简配置;如何让编码、部署、监控变简单;2、如何方便的让spring生态圈和其他工具链整合。优点:搭建项目简单,配合Maven看看文档就能够搭建出一个新的项目;配置简单高效,开发敏捷,部署便利。

       Springboot优势:Spring Boot可以建立独立的Spring应用程序;内嵌了如Tomcat,Jetty和Undertow这样的容器;无需繁琐的xml文件的配置;可以自动配置(核心)Spring。SpringBoot将原有的XML配置改为Java配置,将bean注入改为使用注解注入的方式(@Autowire),并将多个xml、properties配置浓缩在一个appliaction.yml配置文件中。提供了一些现有的功能,如量度工具,表单数据验证等;整合常用依赖(开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等),提供的POM可以简化Maven的配置。当我们引入核心依赖时,SpringBoot会自引入其他依赖。

       Spring Cloud为分布式系统快速构建行业统一特征模式的应用提供了一个行之有效的解决工具箱,诸如配置管理、服务发现、熔断器、智能路由、微服务代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话以及集群状态等,通过各分布式微服务组件的实现以及协调使用,开发者能够快速构建出运行良好的服务。Spring Cloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。微服务是可以独立部署、水平扩展、独立访问(或有独立的数据库)的服务单元,Spring Cloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,Spring Cloud作为大管家需要管理好这些微服务,通过Spring Cloud官网我们可以看到有很多组件为微服务助力,使得这种微服务架构在服务众多之时也便于通讯、管理和维护。优点:得益于SpringBoot的开发便利性,让微服务的实现变得简单可行;作为微服务解决方案,考虑全面并且方便使用基本上都是开箱即用;配置和使用都简单,只需要简单的配置即可实现复杂的功能。缺点:因为微服务体系中涉及到众多的框架,加重了学习成本,同时为后期的运维带来了困难。

       综上:Spring是一个“引擎”;Spring MVC是基于Spring的一个MVC框架;Spring Boot是基于Spring4的条件注册的一套快速开发整合包;Spring Cloud是基于Spring Boot搭建的分布式微服务系统解决方案。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【2021年,将Spring全家桶系列课程进行Review,修复顺序等错误。进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并新增高级的Spring Security等内容,通过手把手一步步教你从零开始学会应用Spring,课件将逐步进行上传,敬请期待】 本课程是Spring案例精讲课程的第四部分Spring CloudSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Spring Cloud的核心知识点:注册中心、服务提供者与消费者、服务的调用OpenFeign、Hystrix监控、服务网关gateway、消息驱动的微服务Spring Cloud Stream、分布式集群、分布式配置中心的案例介绍, 快速掌握Spring Cloud的核心知识,快速上手,为学习及工作做好充足的准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVC、Spring Boot、Spring CloudSpring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验  【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值