形象生动的SpringBoot和SpringMVC的区别
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的区别相关推荐
- springboot和springmvc的区别
面试题:你知道springboot和springmvc的区别是什么? 之前自己搭过springboot的相关项目,但是如何进行比较,从自我感觉来看就是使用springboot用起来几乎没有配置,个人搭 ...
- SpringBoot配置与应用 SpringBoot与(Spring和springmvc的区别)
1.什么是springboot? springboot与springmvc的区别,springboot代替了springmvc? ssm包含了spring与springmvc还有mybatis. 用到 ...
- springboot和springMVC
Spring 最初利用"工厂模式"(DI)和"代理模式"(AOP)解耦应用组件.大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的 ...
- 从web.xml谈谈SpringMVC集成spring的初始化流程及SpringBoot集成SpringMVC
一.关于servlet 详解servlet,https://www.runoob.com/servlet/servlet-tutorial.html 总览一下: servlet与servlet容器 J ...
- Spring 和 SpringBoot 比较,解惑区别!
点击上方"朱小厮的博客",选择"设为星标" 后台回复"1024"获取公众号专属1024GB资料 来源:uee.me/cNDC8 概述 对于 ...
- 大剑无锋之SpringBoot和Spring的区别
SpringBoot和Spring的区别 其实这个问题,在我看来,其关键就是要对SpringBoot相对于Spring的特点阐述: 1.快速整合第三方依赖:maven子父依赖关系. springboo ...
- 帮你理清 SpringBoot 与 SpringMVC 的关系
spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 只是spring 处理web层请求的一个模块. ...
- 教你理清SpringBoot与SpringMVC的关系
spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 是只是spring 处理web层请求的一个模块 ...
- SpringBoot之SpringMVC自动配置
关于SpringBoot中的SpringMVC自动配置的一些思考 : 自动配置 Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:(We ...
最新文章
- R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩
- 用python解“BCD解密”问题
- 用户一亿的网易新闻客户端质量如何?
- 设计模式的征途—12.享元(Flyweight)模式
- linux、sql 常用的一些特殊符号
- python 安装包时出现红字_Python从入门到就业-1.1节:安装Python
- 不要迷失在技术的海洋中【转】
- php spry文本域_《PHP和MySQL Web 开发》第8章 设计Web数据库
- 三个监控linux网卡流量脚本
- 报错:mysqldump‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 在被打击后的心里变化
- JAVA8的双重循环怎么优化_Java8处理List的双层循环问题
- 南天PR2、PR2E驱动下载,xp,win7,win8,win8.1,win10 32位64位驱动下载安装教程
- kjb文件 解析_十四期全国BIM一级考试真题及解析
- 利用JS实现QQ空间自动点赞
- CTPN论文翻译——中文版
- 电商项目(谷粒商城)
- vue项目打包部署到测试服务器(转载)
- 【JavaWeb篇】快速上手Tomcat|实战项目详解
- WordPress数据库文章表(字段说明)
热门文章
- linux php 如何停止,如何关闭linux
- C++知识点杂记2——类成员指针、嵌套类和union
- grdraw显示区域 lisp_lisp函数按功能分类
- 如何为python程序设置使用次数_提升Python程序性能的7个习惯
- 空调能窃听插座能放火?物联网成了“危”联网
- Node项目之评分系统(一)- 基本介绍
- 第19课:Spark高级排序彻底解密
- django restfull centos6.5 x86_64 python2.7
- 【Go语言】【14】GO语言的接口类型
- Hadoop系列之六:分布式文件系统HDFS