SpringFramework、SpringBoot、SpringCloud的区别

SpringFramework、SpringBoot、SpringCloud的区别文章目录SpringSpringFrameworkSpringMVCSpringBootSpringCloud总结Spring是一个技术生态体系,是集大成者。它包含了SpringFramework、SpringBoot、SpringCloud等(还包括SpringClouddataflow、springdata、springintegration、springbatch、springsecurity、springhateoas),可以参考链接:https://spring.

大家好,又见面了,我是你们的朋友全栈君。

Spring

是一个技术生态体系,是集大成者。它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以参考链接:https://spring.io/projects 下图为部分内容。


image-20200617171836329

Spring Framework

是一个一站式轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层、业务层、持久层等都提供了多种配置解决方案。

是整个spring生态的基石,为依赖注入、事务管理、WEB应用、数据访问等提供了核心的支持。Spring Framework专注于企业级应用程序的“管道”,以便开发团队可以专注于应用程序的业务逻辑。

缺点:由于它自身并非容器,所以基本上不得不随JavaEE容器启动而装载,例如Tomcat、Jetty、JBoss等。

Spring MVC

是Spring Framework基础之上的一个WEB开发的MVC框架,MVC指的就是MVC设计模式,模型(Model)、视图(View)、控制器(Controller)。主要处理WEB开发的路径映射和视图渲染,XML、config等配置相对比较繁琐复杂。

Spring Boot

是Spring Framework的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,为快速启动且最小化配置的spring应用而设计。

以前的Java Web开发模式:Tomcat + WAR包。WEB项目基于Spring Framework,项目目录一定要是标准的WEB-INF + classes + lib,大量的xml配置。

Spring Boot约定大于配置,集成了多个用于快速开发的Spring Framework插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置。

Spring Cloud

是一整套基于Spring Boot的微服务解决方案。它为开发者提供了很多工具,用于快速构建分布式系统的一些通用模式,例如:配置管理、注册中心、服务发现、限流、网关、熔断、链路追踪等。

Spring Boot是build anything,而Spring Cloud是coordinate anything,它关注于全局的微服务整合和管理,将多个Spring Boot单体微服务进行整合以及管理。Spring Cloud完整组件参考链接:https://spring.io/projects/spring-cloud。


image-20200617180000124

总结

  • Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring的ioc、aop等。 ioc 提供了依赖注入的容器, aop解决了面向横切面编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

  • Spring MVC是基于Servlet 的一个MVC框架主要解决WEB开发的问题,因为Spring Framework的配置非常复杂,各种XML、JavaConfig、servlet处理起来比较繁琐。

  • 为了简化开发者的使用,从而创造性地推出了Spring Boot框架,默认优于配置,简化了Spring MVC的配置流程;但区别于Spring MVC的是,Spring Boot专注于微服务方面的接口开发,和前端解耦。

  • Spring Cloud框架和Spring Boot一样,注重的是微服务的开发,但是Spring Cloud更关注的是全局微服务的整合和管理,相当于管理多个Spring Boot框架的单体微服务。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137854.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10显卡驱动怎么装_win10系统显卡驱动安装失败怎么办

    win10显卡驱动怎么装_win10系统显卡驱动安装失败怎么办大家好,今天分享一篇来自小白系统官网(xiaobaixitong.com)的图文教程。我们日常在对电脑的使用过程中,经常都会遇到这样或那样的问题。比如说win10系统显卡驱动安装失败该怎么办呢?别着急,还有小编在呢?接下来小编就来告诉大家win10电脑系统显卡驱动安装失败怎么解决。详细教你win10系统显卡驱动安装失败怎么办:方法一,删除之前的显卡驱动文件重新安装1,首先,右键点击“此电脑”,菜单…

    2022年5月26日
    36
  • 以太网Flow Control相关

    以太网Flow Control相关pausepkt,MAC0为self-station,MAC1为link-partnerstationflow如下step1~2:MAC1向MAC0TXpkt,MAC0RX到pkt后送给后续moduleA处理。step3:MAC0来不及处理源源不断的MAC1送来的pkt,此时拉低FC_rdy(一般有RXctrl相关module起)(flowcontrolready)信号,表明此时需要进行flowcontrol;step4:MAC0TX端看到FC_rd.

    2022年6月5日
    44
  • pythonobject类_java中所有异常类的父类

    pythonobject类_java中所有异常类的父类Object类所有类的父类,默认所有的类都继承至Object类规定了类的结构,加载方式,常用函数以前的写法:class类名(Object):pass现在的写法:class类名:pass如果有父类才编写,如果没有父类可以省掉Object类,但是也是默认继承内置函数:__new__(cls,*args,**kwargs)创建对象时自动调用的函数,主要作用是创建对象,给该对象分配空间,方便之后的的操作该函数会返回创建…

    2025年7月15日
    4
  • 微信开发者工具程序开发好后,不报错,但是黑屏「建议收藏」

    微信开发者工具程序开发好后,不报错,但是黑屏「建议收藏」微信开发者工具程序开发好后,不报错,但是黑屏

    2022年4月24日
    54
  • html中ul和li的使用_ul列表的html结构

    html中ul和li的使用_ul列表的html结构html中偶尔会使用到列表,记录一下。1.序号可以是数字、字母、罗马数字等,可以通过list-style-type属性设置。2.序号也可以显示图片,可以通过list-style-image

    2022年8月1日
    10
  • ajax如何解决跨域_除了jsonp还有什么跨域方式

    ajax如何解决跨域_除了jsonp还有什么跨域方式$.ajax({url:url,//路径async:false,//同步type:”get”,//请求方式dataType:”jsonp”,//跨域jsonp:”callback”,//回调函数的参数名data:data,cache:false,/*发送前执行方法*/beforeSend:function(){},/*成功…

    2022年8月24日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号