Spring MVC是什么?
(1)Spring MVC是Spring提供的一个强大而灵活的模块式web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。
(2)SpringMVC是一种基于Java的以请求为驱动类型的轻量级Web框架,其目的是将Web层进行解耦,即使用“请求-响应”模型,从工程结构上实现良好的分层,区分职责,简化Web开发。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。
(3)Spring框架最核心的就是所谓的依赖注射和控制反转。完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。

SpringMVC的优点:
(1)使用简单,学习成本低。
(2)很容易就可以写出性能优秀的程序.
(3)灵活性强,Spring MVC的框架易扩展

SpringMVC的缺点:
(1)Spring与MVC 的Servlet API 耦合,难以脱离容器独立运行
(2)太过于细分,开发效率低
(3)过度追求完美,有过度设计的危险

解决的问题领域是:网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

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框架,那么工作流程和SpringMVC的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。

Spring Boot的核心功能:
(1)独立运行的Spring项目
Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;

(2)内嵌的Servlet容器
内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行;

(3)提供starter简化Manen配置
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖

(4)自动配置Spring
Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;

(5)应用监控
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;

springboot 要解决的问题:
1.如何精简配置;如何让编码、部署、监控变简单;
2.如何方便的让spring生态圈和其他工具链整合

优点:
对新手来说,无需任何门槛,只要懂Maven[的新手]会看文档就能亦步亦趋的开始一个新项目;
对高手来说,改配置也是分分钟的事。另外fat jar的打包方式让部署方式变得优雅。

缺点:
就是简单的背后蕴藏了巨大的学习曲线。入门容易,但是如果没有完整学习spring的体系,碰到问题就一脸懵逼。如果没有一定的经验,根本就不知道springboot自动做了什么。

SpingMVC与SpringBoot的联系与区别:
联系:
Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。后来发现每次开发都要搞很多依赖,写很多样板代码,使代码臃肿而麻烦,于是聪明的前人整理了一些懒人整合包( starter ),这套就是 Spring Boot 。

区别:
Spring MVC 是基于 Servlet 的一个 MVC框架 主要解决 WEB 开发的问题 但关于Spring 的配置比较 ;而Spring boot 的原则是:约定优于配置 ,可以极大地简化了 spring 的配置流程。

Spring MVC和Spring Boot的概念以及比较相关推荐

  1. Spring MVC 到 Spring BOOT 的简化之路

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:juejin.im/post/5aa22d1f5188255 ...

  2. Spring、Spring MVC、Spring Boot三者的关系还傻傻分不清楚?

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 在本文中,你将获取到有关于Spring,Spring MVC和Spring Boot的概述, ...

  3. Spring、 Spring MVC、 Spring Boot的关系

    一.概念 1.Spring Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系.其核心就是控制反转(IOC) ...

  4. Spring Boot、Spring MVC、Spring:它们有什么区别?

    在本文中,您将获得Spring,Spring MVC和Spring Boot的概述,了解它们可以解决什么问题以及在哪里最好地应用它们.您将学到的最重要的事情是,Spring,Spring MVC和Sp ...

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

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

  6. Spring,Spring MVC及Spring Boot区别,你分清了吗

    摘要] 对于一个Java开发者来说,Spring可谓如雷贯耳,无论是Spring框架,还是Spring引领的IOC,AOP风格,都对后续Java开发产生的深远的影响,同时,Spring社区总能及时响应 ...

  7. Spring、Spring MVC、Spring Boot对比

    本篇结构 本篇将大致分为下列四个部分 什么是Spring? 什么是Spring MVC? 什么是Spring Boot? Spring,Spring MVC,Spring Boot 三者比较 什么是S ...

  8. Spring MVC和Spring Boot有什么区别? 这样答,面试官直呼666

    Spring MVC和Spring Boot有什么区别? 这样答,面试官直呼666 作为初级程序员,这样的问题在面试中,也被问到过,随着越来越了解,发现以前自己答的真水. 一般的回答 ​ 先来说说我以 ...

  9. Spring MVC 和 Spring 总结

    1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合. 2). AOP编程的 ...

最新文章

  1. LeetCode 94. Binary Tree Inorder Traversal--二叉树中序遍历--递归,迭代--C++,Python解法
  2. python 最快 因式分解_python中怎么对一个数进行因式分解?
  3. php敏感字符串过滤_PHP实现的敏感词过滤方法示例
  4. 职业生涯中的八大“定位法则”(转)
  5. IDEA一直卡在Resolving Maven dependency的解决办法
  6. 运动会管理系统php,运动会管理系统源代码.doc
  7. 程序猿们,别着急入手区块链,先给自己选好武林门派再练功不迟
  8. SASS+Compass基本使用,结合JavaScript实现随机点名小系统
  9. 计算机二级web题目(6)--动态网页技术概述
  10. C++学习之路 | PTA乙级—— 1052 卖个萌 (20 分)(精简)
  11. 骁龙660鸿蒙系统,骁龙660双摄测试机偷跑 核心数/GPU证实
  12. RabbitMQ, ZeroMQ, Kafka 是一个层级的东西吗, 相互之间有哪些优缺点
  13. javascript xml转json
  14. CRMEB商城公众号H5前端模板修改,nodejs使用教程
  15. 重复渐变过渡 百分比
  16. c喱c喱是哪国语言,c喱c哩歌词。不要音译
  17. 计网(第五版)3-41
  18. 目标检测yolo系列
  19. 筹资与投资循环审计案例
  20. 纯c语言游戏引擎开发,C++ 写个游戏引擎—(基础篇) 1

热门文章

  1. C#:RichTextBox 追加其它颜色的行列
  2. python将ros下bag文件的所有topic解析为csv格式
  3. LINUX framebuffer
  4. 浅谈工业机器人的运动停止
  5. 学习笔记(43):Python实战编程-事件处理简介
  6. C# —— 进程与线程的理解
  7. python替换img的路径为新的路径_以“五智”为核心 南宁电信打造5G时代数字家庭新路径...
  8. CLR via C#学习笔记-第十三章-定义接口、继承接口
  9. iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
  10. 学习jvm,关于MAT an internal error occurred during:Parsing heap dump from问题