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的条件注册的一套快速开发整合包。

转载:https://www.zhihu.com/question/64671972/answer/223383505

spring boot与spring mvc的区别是什么?相关推荐

  1. Spring、Spring MVC、Spring boot、Spring Cloud面试题(史上最全面试题,精心整理100家互联网企业,面试必过)

    最全面试题,精心整理100家互联网企业面经,祝你面试成功.面试必过(2023优化版)已发布在个人微信公众号[面向Offer学编程],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结, ...

  2. spring boot 和spring mvc区别

    spring boot 和spring mvc 其实并没有对比性. 我最开始接触的是spring mvc ,最近刚刚接触了spring boot ,脑子里面便产生了这个问题. spring boot ...

  3. spring boot之Spring Mvc开发和常用注解说明

    spring boot之Spring Mvc开发和常用注解说明 Spring boot主要用于开发微服务接口.所以采用的控制层注解主要是restful形式. 创建微服务: 与上一篇文章一致. 依赖多一 ...

  4. Spring、Spring Boot与Spring MVC

    总论 Spring框架就像一个家族,有众多衍生产品例如boot.security.jpa等等.但他们的基础都是Spring的ioc和aop.ioc提供了依赖注入的容器,aop解决了面向横切面的编程:然 ...

  5. 为什么Java大神,都在看Spring Boot和Spring Cloud的书?

    2019独角兽企业重金招聘Python工程师标准>>> 如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的 ...

  6. 基于Spring Boot和Spring Cloud实现微服务架构学习--转

    原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...

  7. 基于 Spring Boot 和 Spring Cloud 实现微服务架构

    前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...

  8. 基于Spring Boot和Spring Cloud实现微服务架构学习

    目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如 ...

  9. 一个具有Spring Boot,Spring Security和Stormpath的简单Web应用程序-15分钟

    建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! 更新 ...

最新文章

  1. mac mysql的安装
  2. python编程图片_python下载百度图片,python图片下载程序
  3. 渗透知识- Windows系统目录、服务、端口、注册表
  4. Science论文解读:打牌一时爽,一直打牌一直爽
  5. Sniffer Pro 教程
  6. Python3 爬虫学习笔记 C18【爬虫框架 pyspider — 深入理解】
  7. java activity模式_Activity的启动模式
  8. 企业的生存必须找到你的核心竞争力
  9. SQL Server 查询处理中的各个阶段
  10. 手机点餐系统概述_餐馆点菜系统概要设计说明书.doc
  11. 图解:最短路径之迪杰斯特拉算法
  12. 淘宝客做不下去怎么办?
  13. dxf制作kml_kml到dxf
  14. 麦克劳林公式求sin
  15. 笔记本计算机无法开机怎么办,笔记本开机按了没反应 笔记本电脑开不了机怎么办...
  16. 抖音短视频标题什么样的容易火:国仁楠哥
  17. 一部《再忆王家沱》讲述百年重庆历史,堪称中国版《百年孤独》
  18. 最近的错误整理(LMY)
  19. 编译原理实验二:赋值语句的语法分析程序设计
  20. 使用jquery validate结合zui作表单验证

热门文章

  1. python exe是什么_[Python] [转] python.exe和pythonw.exe的区别(区分.py、.pyw、.pyc文件)...
  2. am5718_基于TI AM5718 车牌识别系统解决方案 - 飞凌嵌入式行业资讯 - 保定飞凌嵌入式技术有限公司...
  3. 合泰单片机数码管c语言,合泰单片机定时器数码管显示
  4. @scheduled只执行一次_SpringBoot第四篇:定时任务@Scheduled
  5. java的八种数据类型_JAVA 的8种基本数据类型
  6. java 创建文件夹的方法_Java创建文件夹的方法
  7. atm系统的用例模型_战斗系统执行式测试经验汇总
  8. c语言带默认参数吗,嵌入式C语言可以带“默认参数”的函数吗
  9. java与c 通信_Java与C之间的socket通信
  10. JS高级进阶之ECMAScript 常见面试题