一、概念
1、Spring

Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。

2、SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等。SpringMVC是一个MVC的开源框架,SpringMVC=struts2+spring,springMVC就相当于是Struts2加上Spring的整合。

3、SpringBoot

Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题--->习惯大于约定。

二、原理和结构
1、Spring的原理和组成

Spring为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。如下图:

Spring官方结构简化的理解图:

简化逻辑图

2、SpringMVC的原理和组成

从上图中可以看出:SpringMVC是属于SpringWeb里面的一个功能模块(SpringWebMVC)。专门用来开发SpringWeb项目的一种MVC模式的技术框架实现。其原理如下:

SpringMVC原理流程
MVC:Model(模型)、VIew(视图)、Controller(控制器);我们从开始接触并学习javaWeb开发就知道MVC这一种架构,如早起的Sturts1、Sturts2等。

3、SpringBoot的原理和特性

Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。

Spring Boot中的一些特点:

  1. 创建独立的spring应用。
  2. 嵌入Tomcat, Jetty Undertow 而且不需要部署他们。
  3. 提供的“starters” poms来简化Maven配置
  4. 尽可能自动配置spring应用。
  5. 提供生产指标,健壮检查和外部化配置
  6. 绝对没有代码生成和XML配置要求。
  7. 组成和结构如下图:

从图中可以看出SpringBoot是包含了Spring的核心(IOC)和(AOP);以及封装了一些扩展,如Stater:

三、区别与总结
1.简单理解为:Spring包含了SpringMVC,而SpringBoot又包含了Spring或者说是在Spring的基础上做得一个扩展。

三者区别对比

2、关系大概就是这样:

spring mvc < spring < springboot

3、Spring Boot 对比Spring的一些优点包括:

提供嵌入式容器支持
使用命令java -jar独立运行jar
在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突
部署时灵活指定配置文件的选项
用于集成测试的随机端口生成
4、结论

为了便于理解,可以简单看成上述spring mvc < spring < springboot的关系,但是Spring Boot既是对Spring的扩展,使开发,测试和部署更加方便。也增加了SpringBoot本身的一些功能,Sarter依赖、main函数启动入口,自动化配置等使得SpringBoot优于Spring的实现。

Spring、 Spring MVC、 Spring Boot的关系相关推荐

  1. MESSL(maven + extjs + spring portlet mvc + spring web flow + liferay )整合架构 1

    春节前我曾经为一个项目做架构,作为公司机密我无法透露这个项目的背景,但是它的实现技术主要是如下: 前端: ext-js (这个作为富客户端的javascript框架还是有极强的竞争力的,因为比较炫) ...

  2. Spring Web MVC (Spring MVC) 的相关例题及解析

    MVC.web MVC.Spring MVC 和 Spring Web MVC的联系与区别: 1.MVC 是一种架构分层模式 2.web MVC 是指在 web 领域下实践的 MVC,因为 web 领 ...

  3. MESSL(maven + extjs + spring portlet mvc + spring web flow + liferay )整合架构 5

    流控制文件很简单,就是根元素是<view>,然后用<view-state>来代表一个一个的页面,用<transition>来代表从一个状态到另外一个状态的跳转,如果 ...

  4. Spring系列之Spring Web MVC-20

    目录 Spring Web MVC DispatcherServlet 上下文层次结构 特殊Bean Web MVC 配置 程序配置 工作原理 异常 视图解析 配置 重定向 转发 内容协商 过滤器 F ...

  5. 多个切点 boot spring_全网独家Spring/Cloud/MVC/Boot,脑图+面试+进阶,就问你服不服?...

    近期搜刮了一些Spring全家桶系列的思维脑图.经典面试题和进阶学习的PDF笔记(非常nice),Spring+SpringCloud+SpringMVC+SpringBoot,一个都没落下全都有!一 ...

  6. Spring Cloud与Spring Boot版本匹配关系

    Spring Cloud与Spring Boot版本匹配关系 Spring Cloud与Spring Boot版本匹配关系 Spring Cloud Spring Boot Finchley 兼容Sp ...

  7. Spring Boot——2分钟构建spring web mvc REST风格HelloWorld

    Spring Boot--2分钟构建spring web mvc REST风格HelloWorld 之前有一篇<5分钟构建spring web mvc REST风格HelloWorld>介 ...

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

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

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

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

最新文章

  1. 表观调控高通量测序分析培训开课啦
  2. (2) 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等...
  3. 实心等腰直角三角形。
  4. C#中的String编码转换
  5. 树莓派删除python2.7设置python3.5
  6. 下列哪项属于正确的锁定计算机桌面,【2018年职称计算机考试WindowsXp练习题及答案1】- 环球网校...
  7. r roc函数_画ROC曲线的R包总结
  8. Java | 用Java实现冒泡排序算法
  9. 【Linux】linux grep过滤中,不包含某些字符串
  10. TCP-IP协议栈概略图与TCP三次握手四次挥手
  11. windows7中安装jdk1.8
  12. python elasticsearch模块_Python3 操作 elasticsearch
  13. 联想MIIX510 黑苹果教程 整机升级
  14. el-table 样式设置
  15. 芯鼎盛LED恒流驱动芯片TX6128设计的DC-DC开关电源降压恒流DEMO说明
  16. Take me to your heart 《吻别》英文版 已配了歌词
  17. 小程序调用服务器图片错误,微信小程序列表图片加载错误处理
  18. 天合光能为澳大利亚太阳能农场供应双玻组件
  19. java阿里天气接口_天气预报接口
  20. 微信提取公积金要先查征信?

热门文章

  1. K-Means Clustering
  2. 沪嘉杭共建G60科创走廊
  3. 检测到可疑访问 php,php.net被Chrome/Firefox浏览器标注为可疑站点
  4. OSChina 周二乱弹 ——爸爸陆陆续续回家了
  5. Java学习笔记分享之Spring Cloud Netflix篇(上)
  6. 【Java整合Milvus】SpringBoot整合Milvus向量数据库以及虹软SDK实现以图搜图
  7. 气象站的技术参数有哪些?
  8. 数学分析 曲面积分与场论初步(第22章)
  9. Too many files with unapproved license异常、使用-Drat.skip=true跳过 或者 对没有授权的文件开头添加授权
  10. verilog实现有符号数求绝对值