一、概念
1、Spring
Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),是一个分层的轻量级开源框架。
2、SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。SpringMVC是一种web层mvc框架,用于替代servlet(处理请求,获取表单参数,表单校验等),SpringMVC是一个MVC的开源框架,springMVC相当于Struts2 + Spring。
3、SpringBoot
Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,Spring Boot简化了Spring应用的创建、运行、调试、部署等,使用开发者可以专注于Spring应用的开发,而无需过多关注XML的配置。
二.原理和组成
1、Spring的原理和组成
Spring为了简化开发工作,封装了一系列组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。
2、SpringMVC的原理和组成
SpringMVC是属于SpringWeb里面的一个功能模块(SpringWebMVC),专门用来开发SpringWeb项目的一种MVC模式的技术框架实现。
Spring 的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet 来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。
3、SpringBoot的原理和特性
Spring Boot 是由Pivotal 团队提供的全新框架,其设计目的是用来简化新Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid applicationdevelopment)成为领导者。其特点如下:
- 创建独立的spring应用。
- 内嵌Tomcat, JettyUndertow 不需要部署。
- 提供的“starters”poms来简化Maven配置。
- 尽可能自动配置spring应用。
- 绝对没有代码生成和XML配置要求。
三.区别和总结
- Spring包含了SpringMVC,而SpringBoot是在Spring的基础上做得一个扩展。
- spring mvc < spring < springboot