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的条件注册的一套快速开发整合包。
相关推荐
坚持就完事了4 分钟前
数据结构之堆(Java\Python双语实现)
java·数据结构·算法
暴力袋鼠哥9 分钟前
基于 SpringBoot + Vue3 的社区医院管理系统实战(含 AI 问诊 + 电子病历 PDF 导出
java·spring boot·intellij-idea·mybatis
马尔代夫哈哈哈10 分钟前
Spring 事务处理
java·后端·spring
Andy Dennis24 分钟前
各种单例模式的实现方式
java·单例模式
逆境不可逃25 分钟前
【从零入门23种设计模式02】创建型之单例模式(5种实现形式)
java·spring boot·后端·单例模式·设计模式·职场和发展
大尚来也31 分钟前
Spring Boot 集成 Nacos 完全指南:从配置中心到服务发现一站式实战
spring boot·后端·服务发现
极客先躯34 分钟前
高级java每日一道面试题-2025年7月11日-基础篇[LangChain4j]-如何管理 LangChain4j 应用的配置?请描述配置的最佳实践。
java·langchain·团队协作·密钥管理·动态调整·敏感信息保护·多环境支持
逆境不可逃36 分钟前
【从零入门23种设计模式04】创建型之原型模式
java·后端·算法·设计模式·职场和发展·开发·原型模式
香芋Yu8 小时前
【大模型面试突击】05_数据工程与合成数据
面试