spring boot只是一个配置工具,整合工具,辅助工具.

springmvc是框架,项目中实际运行的代码


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

Spring MVC是基于Servlet 的一个 MVC 框架主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。

说得更简便一些:Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 Spring Boot。


Spring MVC的功能

Spring MVC提供了一种轻度耦合的方式来开发web应用。

Spring MVC是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。


Spring Boot的功能

Spring Boot实现了自动配置,降低了项目搭建的复杂度。

众所周知,Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。

对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。


所以,用最简练的语言概括就是:

Spring 是一个“引擎”;

Spring MVC 是基于Spring的一个 MVC 框架;

Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

形象生动的SpringBoot和SpringMVC的区别相关推荐

  1. springboot和springmvc的区别

    面试题:你知道springboot和springmvc的区别是什么? 之前自己搭过springboot的相关项目,但是如何进行比较,从自我感觉来看就是使用springboot用起来几乎没有配置,个人搭 ...

  2. SpringBoot配置与应用 SpringBoot与(Spring和springmvc的区别)

    1.什么是springboot? springboot与springmvc的区别,springboot代替了springmvc? ssm包含了spring与springmvc还有mybatis. 用到 ...

  3. springboot和springMVC

    Spring 最初利用"工厂模式"(DI)和"代理模式"(AOP)解耦应用组件.大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的 ...

  4. 从web.xml谈谈SpringMVC集成spring的初始化流程及SpringBoot集成SpringMVC

    一.关于servlet 详解servlet,https://www.runoob.com/servlet/servlet-tutorial.html 总览一下: servlet与servlet容器 J ...

  5. Spring 和 SpringBoot 比较,解惑区别!

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"1024"获取公众号专属1024GB资料 来源:uee.me/cNDC8 概述 对于 ...

  6. 大剑无锋之SpringBoot和Spring的区别

    SpringBoot和Spring的区别 其实这个问题,在我看来,其关键就是要对SpringBoot相对于Spring的特点阐述: 1.快速整合第三方依赖:maven子父依赖关系. springboo ...

  7. 帮你理清 SpringBoot 与 SpringMVC 的关系

    spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 只是spring 处理web层请求的一个模块. ...

  8. 教你理清SpringBoot与SpringMVC的关系

    spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 是只是spring 处理web层请求的一个模块 ...

  9. SpringBoot之SpringMVC自动配置

    关于SpringBoot中的SpringMVC自动配置的一些思考 : 自动配置 Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:(We ...

最新文章

  1. R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩
  2. 用python解“BCD解密”问题
  3. 用户一亿的网易新闻客户端质量如何?
  4. 设计模式的征途—12.享元(Flyweight)模式
  5. linux、sql 常用的一些特殊符号
  6. python 安装包时出现红字_Python从入门到就业-1.1节:安装Python
  7. 不要迷失在技术的海洋中【转】
  8. php spry文本域_《PHP和MySQL Web 开发》第8章 设计Web数据库
  9. 三个监控linux网卡流量脚本
  10. 报错:mysqldump‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  11. 在被打击后的心里变化
  12. JAVA8的双重循环怎么优化_Java8处理List的双层循环问题
  13. 南天PR2、PR2E驱动下载,xp,win7,win8,win8.1,win10 32位64位驱动下载安装教程
  14. kjb文件 解析_十四期全国BIM一级考试真题及解析
  15. 利用JS实现QQ空间自动点赞
  16. CTPN论文翻译——中文版
  17. 电商项目(谷粒商城)
  18. vue项目打包部署到测试服务器(转载)
  19. 【JavaWeb篇】快速上手Tomcat|实战项目详解
  20. WordPress数据库文章表(字段说明)

热门文章

  1. linux php 如何停止,如何关闭linux
  2. C++知识点杂记2——类成员指针、嵌套类和union
  3. grdraw显示区域 lisp_lisp函数按功能分类
  4. 如何为python程序设置使用次数_提升Python程序性能的7个习惯
  5. 空调能窃听插座能放火?物联网成了“危”联网
  6. Node项目之评分系统(一)- 基本介绍
  7. 第19课:Spark高级排序彻底解密
  8. django restfull centos6.5 x86_64 python2.7
  9. 【Go语言】【14】GO语言的接口类型
  10. Hadoop系列之六:分布式文件系统HDFS