注:此文章转载于其他大神

一、正面解读:

Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示层的显示,Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),Hibernate主要作用是数据的持久化到数据库。
SpringMVC是基于Spring的一个MVC框架,用以替代初期的SSH框架;(spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext,使得拥有web功能)。
Spring Boot是基于Spring4的条件注册的一套快速开发整合包

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

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

二、概念解读

什么是spring

关于spring的定义无论是从官方还是市面上已经很多能够清晰明了的做出解释了。我姑且简单定义它为一个轻量级的控制反转(IoC)和面向切面(AOP)的容器,Java 开发框架,至于控制反转、面向切面、轻量级、容器等这些自行百度,很多大牛解释的非常清楚

什么是springMVC

这里我姑且把名词分开来讲、spring与mvc可以更好地解释什么是springMvc,MVC为现代web项目开发的一种很常见的模式,简言之C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC ,业内常见的mvc模式的开发框架有Struts1,Struts2等。spring作为专业的开发web项目的开源框架,springMvc为内部的一个模块环节,同样采取mvc设计模式。 所以在使用spring开发web项目时,作为核心环节的MVC可以使用struts1/struts2/springMVc

什么是Spring-boot

我的理解是这样的、spring系列大家族里面产品超级多了、那么使用spring整合基础框架作为项目架构时,大多数初级人员在搭建项目时话费了很多时间也未必能搭建明白。 spring-boot就是为了解决开发人员这个痛点而诞生的,说白了就是把以前的手动配置的过程自动化封装了,提供默认的配置,借用大牛总结的特点就是:
简单易用,初学者和大牛都可以轻松上手,其中的注解会给使用者提供方便;
Spring boot对第三方技术进行了很好的封装和整合,提供了大量第三方接口;
可以通过依赖自动配置,不需要XML等配置文件
还提供了安全等特性姑且先不做理会。

完了现在boot总结就是可以快速启动,快速构建项目,在配置文件环节省去大量时间和精力,傻瓜式带你进入项目大门,进行业务逻辑编写。现在跟很多框架整合了 按照规范去配置 分分钟上手写代码

什么是spring-cloud

微服务是当前架构领域的热门话题,要想知道什么是spring-cloud,麻烦先去弄清楚什么是微服务。 spring-colud是一种云端分布式架构解决方案,基于spring boot,在spring boot做较少的配置,便可成为 spring cloud 中的一个微服务。 说点有点冠冕堂皇了 我也没用过、不过简单理解为:spring cloud也就是提供了一些常用的分布式组件,都是应用型的,就根spring mvc差不多。

三、深入解读Spring Cloud与 Spring Boot的概念与关系。

什么是 Spring Boot

Spring Booti简化了基于 Spring的应用开发,通过少量的代码就能创建一个独立的、产品级別的 Spring应用。 Spring Boot为 Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不素地开始。多数 SpringBoot应用只需要很少的 Spring配置。
Spring Boot是由 Pivotal团队提供的全新框架,其设计目的是用来简化新 Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是Spring Boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven整合了所有的jar包,Spring Boot整合了所有的框架。
Spring Boot的核心思想就是约定大于配置,一切自动完成。采用 Spring Boot可以大大的简化你的开发模式,所有你想集成的常用框架,它都有对应的组件支持。

什么是Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用 Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线线、负载均衠、断路器、数据监控等,都可以用 Spring Boot的开发风格做到一键启动和部署。 Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组台起来,通过 Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系統开发工具包。
微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元, Spring Cloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多, Spring Cloud做为大管家就需要提供各种方案来维护整个生态。
Spring Cloud就是一套分布式服务治理的框架,既然它是一套服务治理的框架,那么它本身不会提供具体功能性的操作,更专注于服务之间的通讯、熔断、监控等。因此就需要很多的组件来支持一套功能。
Spring Boot和Spring Cloud的关系
Spring Boot是 Spring的一套快速配置脚手架,可以基于 Spring Boot快速开发单个微服务, SpringCloud是一个基于 Spring Boot实现的云应用开发工具; Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架; Spring Boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置, Spring Cloud很大的一部分是基于 Spring Boot来实现,可以不基于 Spring Boot吗?不可以。 Spring Boot可以离开 Spring Cloud独立使用开发项目,但是 Spring Cloud离不开 Spring Boot,属于依赖的关系

Spring-> Spring Boot> Spring Cloud这样的关系

Spring Cloud架构

我们从整体来看一下 Spring Cloud主要的组件,以及它的访间流程
1、外部或者内部的非 Spring Cloud目都统一通过API网关(Zuul)来访可内部服务.
2、网关接收到请求后,从注册中心( Eureka)获取可用服务
3、由 Ribbon进行均负载后,分发到后端的具体实例
4、徹服务之间通过 Feign进行通信处理业务
5、 Hystrix负责处理服务超时熔断
6、 Turbine监控服务间的调用和焠断相关指标

综上所述,是 Spring Cloud与 Spring Boot的概念及关系,为了更好的学习,请大家务必要熟练掌握相关内容

Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别相关推荐

  1. Spring SpringMVC SpringBoot SpringCloud概念、关系及区别

    一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示 ...

  2. [转]Spring SpringMVC SpringBoot SpringCloud概念、关系及区别

     一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负 ...

  3. Spring SpringMVC SpringBoot SpringCloud概念及关系

    一.Spring SpringMVC SpringBoot SpringCloud概念.关系及区别 Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spr ...

  4. Spring、SpringMVC、SpringBoot、SpringCloud的关系分享

    最近在做一些技术架构原型,发现Spring已经跟三四年前发生了很多的区别,技术的迭代日新月异,再不学习就赶不上时代的脚步 ,以下是最近关于Spring.SpringMVC.SpringBoot.Spr ...

  5. Spring - Spring Boot Spring Cloud

    Spring -> Spring Boot > Spring Cloud 这几天刚刚上班,公司用的是Spring Cloud,接触不多.我得赶快学起来. 想学习就必须得知道什么是微服务,什 ...

  6. Spring boot (6)---SpringMVC框架和spring Boot的区别

    SpringMVC框架和spring Boot的区别 1.我们知道Spring是一个一站式框架功能十分强大,就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是S ...

  7. Spring Cloud概念+案例(eureka注册+拉取、ribbon负载均衡+重试)、netfix各组件介绍【上】

    Spring Cloud概念+案例(断路器)[下] https://blog.csdn.net/LawssssCat/article/details/104632719 [⭐️⭐️⭐️] Spring ...

  8. Spring Boot+Spring Cloud基础入门(一)简单介绍

    转自:https://blog.csdn.net/mingwei_cheng/article/details/80939833 在经历了毕业的摧残后,终于又有时间来更新博客了,毕业设计项目是写了一个基 ...

  9. spring boot 和cloud 版本升级

    spring boot 和cloud 版本对应 背景:原来一直用的版本是Hoxton.SR12 +2.3.10.RELEASE(SR12一路升,几乎没有影响,不需要测试,但是换大版本就有点担心) 去年 ...

最新文章

  1. k8s源码架构目录分析
  2. oracle表空间处理操作
  3. 解决 Ubuntu Software (Software Center) Crash 问题
  4. html注释的爱情故事,爱情故事”为你的婚礼贴上专属标签
  5. python 类继承 父类初始化_python之子类继承父类时进行初始化的一些问题
  6. 基于python的图书管理系统测试步骤_Django admin实现图书管理系统菜鸟级教程完整实例...
  7. jenkins支持PHP,jenkins发布php代码
  8. 代码审查清单 Code Review
  9. d3_3 ATM模拟系统
  10. 【正点原子STM32连载】第二章 STM32简介 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  11. python数据分析 活用pandas库_Python数据分析:活用Pandas库
  12. Allegro如何更改铜皮的网络操作指导
  13. 重新编译Spark2.4.0 Parcels包
  14. 手机端rem布局详解(淘宝无限适配)
  15. 华为机试题:求偶数个复数的平均值
  16. [kotlin]人工智能对话程序
  17. QS2016年全球高等教育系统实力排名 中国排名世界第八亚洲第一
  18. linux-关机命令shutdown
  19. 后台管理系统模板简介
  20. Oracle删除数据效率低下案例

热门文章

  1. unix入门经典_程序员大神们的经典编程语录
  2. 3-39客户端(client)写数据到HDFS的流程
  3. 基于bootstrap的 按钮-隐藏 案例
  4. matplotlib设置画布大小_PyTorch 49.matplotlib模块
  5. (10位数和13位数的)时间戳 - 代码篇
  6. DreamweaverCS4搭建配置php本地站点(图文教程)- 教程篇
  7. 大学计算机要学什么内容,大学计算机课程学习路线应该是怎么样的呢?
  8. 高精度矢量汉字的一种填充方法_惯导解算数学基础4(等效旋转矢量解,圆锥补偿解)...
  9. 四合一图床HTML网站源码
  10. php并行下载文件,php – 限制并行/同时下载 – 如何知道下载是否被取消?