Spring就像一个大家族,里面包含了很多衍生产品,其中最为出名的就是SpringMVC和SpringBoot,那么这三者之间是什么关系呢?SpringMVC和SpringBoot又专门用来做什么呢?
Spring 是一个开源容器框架。
可以接管 web 层,业务层,dao 层,持久层的组件,并且可以配置各种 bean,和维护 bean 与 bean 之间的关系。
其核心就是控制反转(IOC)和面向切面(AOP)。
简单的说就是一个分层的轻量级开源框架。
SpringMVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。
SpringMVC 是 Web 层 MVC 框架,用于替代 servlet(处理 | 响应请求,获取表单参数,表单校验等)。
某种意义上来说 SpringMVC 可以相当于是 Struts2 加上 Spring 的整合。
SpringBoot 是一个微服务框架,延续了 Spring 框架的核心思想 IOC 和 AOP,简化了应用的开发和部署。
SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于 Spring 应用的开发,而无需过多关注 XML 的配置。
提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题-> 习惯大于约定。
SpringBoot 的核心在于自动配置。
Spring 为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块。
包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test 等。
如下图:
因此:
SpringMVC 是属于 SpringWeb 里面的一个功能模块(SpringWebMVC)。
专门用来开发 SpringWeb 项目的一种 MVC 模式的技术框架实现。
SpringBoot 基本上是 Spring 框架的扩展,它消除了设置 Spring 应用程序所需的 XML 配置,为更快,更高效的开发生态系统铺平了道路。
我们通过了解 SpringBoot 所具备的能力就很容易理解 Spring 和 SpringBoot 的关系。
从功能角度来看,SpringBoot 可以理解为一个可以一键发布的 Spring 应用。
spring mvc < spring < springboot
回忆一下在没有 SpringBoot 之前我们创建和发布一个应用需要做那些事情?
通过 SpringBoot 来创建应用我们需要做什么?
Spring 包含了 SpringMVC,SpringBoot 是 Spring 的扩展,使开发,测试和部署更加方便。
温馨提示:系统将通过浏览器临时记忆您曾经填写的个人信息且支持修改,评论提交后仅自己可见,内容需要经过审核后方可全面展示。