Spring、SpringMVC、Springboot三者的区别和联系

1.背景

最近有人问面试的一个问题:Spring、SpringMVC、Springboot三者的区别和联系,个人觉得:万变不离其宗,只需要理解其原理,回答问题信手拈来。

2.三者区别和联系

2.1 先了解Spring基础

Spring 框架就像一个家族,有众多衍生产品,例如 boot、security、jpa等等。但他们的基础都是Spring的Ioc和Aop ,Ioc 提供了依赖注入 的容器,Aop解决了面向切面 的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

2.2 三者的演进关系

Spring 最初利用"工厂模式 "(DI)和"代理模式 "(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架 (一些用Spring 解耦的组件),用于开发 web 应用( SpringMVC )。然后发现每次开发都要写很多样板代码,为了简化工作流程,于是开发出了一些"懒人整合包 "(starter),这套整合包就是 Spring Boot

2.3 三者的区别

  • Spring 是一个"引擎";
  • Spring MVC 是基于Spring的一个 MVC 框架;
  • Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。
相关推荐
小鑫记得努力8 分钟前
Java类和对象(下篇)
java
binishuaio12 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
zz.YE14 分钟前
【Java SE】StringBuffer
java·开发语言
老友@14 分钟前
aspose如何获取PPT放映页“切换”的“持续时间”值
java·powerpoint·aspose
wrx繁星点点29 分钟前
状态模式(State Pattern)详解
java·开发语言·ui·设计模式·状态模式
Upaaui32 分钟前
Aop+自定义注解实现数据字典映射
java
zzzgd81632 分钟前
easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头
java·excel·表格·easyexcel·导入导出
友善的鸡蛋33 分钟前
解决:使用EasyExcel导入Excel模板时出现数据导入不进去的问题
java·easyexcel·excel导入
星沁城34 分钟前
240. 搜索二维矩阵 II
java·线性代数·算法·leetcode·矩阵
戴眼镜的猴34 分钟前
Spring Boot的过滤器与拦截器的区别
spring boot