一、Spring
简单来说, Spring 是一个开发应用框架,主打轻量级、一站式、模块化,其目的是用于简化企业级应用程序开发。
Spring 的主要功能:管理对象,以及对象之间的依赖关系,面向切面编程,数据库事务管理, 数据访问,web框架支持等。但是 Spring 具备高度可开放性,并不强制依赖 Spring,开发者可以自由选择 Spring 的部分或者全部,Spring 可以无缝继承第三方框架,比如数据访问框架 ( Hibernate 、JPA ),web框架 (Struts、 JSF)。
二、Spring MVC
Spring MVC 是 Spring 的一个子框架,Spring诞生之后,大家觉得很好用,于是按照 MVC 模式设计了一个 MVC 框架 ( 一些用Spring 解耦的组件),主要用于开发WEB应用和网络接口,所以,Spring MVC 是一个Web框架。
Spring MVC 基于 Spring 进行开发的,天生的与 Spring 框架集成,可以让我们更简洁的进行Web层开发, 支持灵活的 URL 到页面控制器的映射,提供了强大的约定大于配置的契约式编程支持, 非常容易与其他视图框架集成,如 Velocity、FreeMarker 等。
三、Spring Boot
Spring Boot 是对 Spring 的一个封装,为了简化 Spring 应用的开发而出现的,中小型企业,没有成本研究自己的框架,使用 Spring Boot 可以更加快速的搭建框架,降级开发成本,让开发人员更加专注于 Spring 应用的开发,而无需过多关注XML的配置和一些底层的实现。
Spring Boot 是个脚手架,插拔式搭建项目,可以快速的集成其他框架进来。比如想使用 SpringBoot 开发 Web 项目, 只需要引入Spring MVC 框架即可,Web 开发的工作是 SpringMVC 完成的,而不是 SpringBoot,想完成数据访问,只需要引入 Mybatis 框架即可。Spring Boot 只是辅助简化项目开发的,让开发变得更加简单,甚至不需要额外的web服务器,直接 生成jar包执行即可。
四、总结
Spring MVC 和 Spring Boot 都属于Spring,Spring MVC 是基于Spring的一个MVC 框架,而Spring Boot 是基于Spring 的一套快速开发整合包。