SpringBoot与SpringMVC的区别是什么?

点击上方 "程序员小乐"关注, 星标或置顶一块儿成长php

天天凌晨00点00分, 第一时间与你相约html

每日英文程序员

Never expect, never assume, and never demand. Just let it be, because if it's meant to be, it will happen the way you want it to.web

永不期待,永不假设,永不强求。顺其天然,如果注定发生,必会如你所愿。面试

每日掏心spring

相见是幸福,相见是缘分的天定,爱上你就没有回头,你全部的脾气,全部不高兴冲我而来,我都能让你在个人微笑中化解,化为一世的不离不弃,我独霸你心灵的所有。编程

来自:潜龙勿用 | 责编:乐乐设计模式

连接:zhihu.com/question/64671972服务器

程序员小乐(ID:study_tech)第 713 次推文   图片来自网络网络

往日回顾:***发布微软 Windows 7 更新破解工具:免费“续命”3年!

   正文   

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

欢迎在留言区留下你的观点,一块儿讨论提升。若是今天的文章让你有新的启发,学习能力的提高上有新的认识,欢迎转发分享给更多人。

欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”便可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题聚集

Java 设计模式之责任链模式实现的三种方式

SpringBoot 经常使用注解和原理都在这儿了!

MyBatis 的9种设计模式,我猜你不必定知道!

关注「程序员小乐」,收看更多精彩内容
相关文章
相关标签/搜索