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,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模式的技术框架实现。原理如下:
三层架构:MVC:Model(模型)、VIew(视图)、Controller(控制器)
3、SpringBoot的原理和特性
Spring Boot基本上是Spring框架的扩展,减少了XML配置,为更快,更高效
Spring Boot中的一些特点:
创建独立的spring应用。
嵌入Tomcat, JettyUndertow 而且不需要部署他们。
提供的“starters” poms来简化Maven配置
尽可能自动配置spring应用。
提供生产指标,健壮检查和外部化配置
绝对没有代码生成和XML配置要求。
结构图:
springboot的核心是自动装配 启动器
三、区别与总结
Spring包含了SpringMVC,而SpringBoot又包含了Spring或者说是在Spring的基础上做得一个扩展。
关系大概是这样:
spring mvc < spring < springboot
3、Spring Boot 对比Spring的一些优点包括:
提供嵌入式容器支持
使用命令java -jar独立运行jar
在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突
部署时灵活指定配置文件的选项
用于集成测试的随机端口生成
4、结论
Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。