- N +

springBoot和springMVC的关系

springBoot和springMVC的关系原标题:springBoot和springMVC的关系

导读:

springBoot和springMVC的关系spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然也就包含spring mv...

文章目录 [+]



springBoot和springMVC的关系




spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然也就包含spring mvc。

spring mvc 只是spring 处理web层请求的一个模块。因此他们的关系大概就是这样:spring mvc  < spring < springboot。



SpringBoot与SpringMVC的关系


Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop。

ioc 提供了依赖注入的容器 。aop 解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 javaConfig处理起来比较繁琐。

于是为了简化开发者的使用,从而创造性地推出了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的关系
本文链接:http://www.kyjszj.com/htzq/353.html
作者授权:除特别说明外,本文由 开源技术之家 原创编译并授权 开源技术之家 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。

有好的文章希望我们帮助分享和推广,猛戳这里我要投稿

返回列表
上一篇:
下一篇:

发表评论中国互联网举报中心

快捷回复:

    评论列表 (暂无评论,共188人参与)参与讨论

    还没有评论,来说两句吧...