当前位置: 首页 > news >正文

Spring、SpringMVC和SpringBoot的关系,看这一篇就够了


> 本文首发于CSDN:Spring、SpringMVC和SpringBoot的关系,看这一篇就够了
####  

#### 一、概念

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等。如下图:

![](https://i-blog.csdnimg.cn/blog_migrate/8f0d6f1044a3ee31eb7e3bc8188019dc.jpeg)Spring官方结构

简化的理解图:

![](https://i-blog.csdnimg.cn/blog_migrate/097a4025489b29c148c5c44c373f4498.png)简化逻辑图

 

2、SpringMVC的原理和组成

从上图中可以看出:SpringMVC是属于SpringWeb里面的一个功能模块(SpringWebMVC)。专门用来开发SpringWeb项目的一种MVC模式的技术框架实现。其原理如下:

![](https://i-blog.csdnimg.cn/blog_migrate/898d8fd224d26f374a0c0d4b32fe9ab3.jpeg)SpringMVC原理流程

MVC:Model(模型)、VIew(视图)、Controller(控制器);我们从开始接触并学习javaWeb开发就知道MVC这一种架构,如早起的Sturts1、Sturts2等。

3、SpringBoot的原理和特性

Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。

Spring Boot中的一些特点:

-  创建独立的spring应用。
-  嵌入Tomcat, Jetty Undertow 而且不需要部署他们。
-  提供的“starters” poms来简化Maven配置
-  尽可能自动配置spring应用。
-  提供生产指标,健壮检查和外部化配置
-  绝对没有代码生成和XML配置要求。

组成和结构如下图:

![](https://i-blog.csdnimg.cn/blog_migrate/f99c6356a338d2fa281680a43aba7063.jpeg)SpringBoot架构组成

从图中可以看出SpringBoot是包含了Spring的核心(IOC)和(AOP);以及封装了一些扩展,如Stater:

![](https://i-blog.csdnimg.cn/blog_migrate/bfcdf8f859eb887c6195f9393480fd96.jpeg)SpringBootStarter

 

#### 三、区别与总结

1.简单理解为:Spring包含了SpringMVC,而SpringBoot又包含了Spring或者说是在Spring的基础上做得一个扩展。

![](https://i-blog.csdnimg.cn/blog_migrate/84d4e160d26a7573bf7c46a708394cd7.jpeg)三者区别对比

 

2、关系大概就是这样

spring mvc < spring < springboot

3、Spring Boot 对比Spring的一些优点包括

- 提供嵌入式容器支持
- 使用命令java -jar独立运行jar
- 在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突
- 部署时灵活指定配置文件的选项
- 用于集成测试的随机端口生成

4、结论

为了便于理解,可以简单看成上述spring mvc < spring < springboot的关系,但是Spring Boot既是对Spring的扩展,使开发,测试和部署更加方便。也增加了SpringBoot本身的一些功能,Sarter依赖、main函数启动入口,自动化配置等使得SpringBoot优于Spring的实现。

 

既然都看完了整篇文章,相信对你一定有所帮助。原创不易,勿做伸手党。

点击下方【打赏】小编,或者关注公众号给予支持,你们的每一份鼓励都将是小编伟大的动力。

![](https://i-blog.csdnimg.cn/blog_migrate/c6588a897387ffefcdda1428dcd8e7dd.jpeg)同名原创公众号:程序大视界

 





$(function() {
setTimeout(function () {
var mathcodeList = document.querySelectorAll('.htmledit_views img.mathcode');
if (mathcodeList.length > 0) {
for (let i = 0; i ');
curSpan.text(alt);
$(mathcodeList[i]).before(curSpan);
$(mathcodeList[i]).remove();
}
} else {
mathcodeList[i].onerror = function() {
var alt = mathcodeList[i].alt;
alt = '\\(' + alt + '\\)';
var curSpan = $('');
curSpan.text(alt);
$(mathcodeList[i]).before(curSpan);
$(mathcodeList[i]).remove();
};
}
}
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
}
}, 500)
});



关注博主即可阅读全文
![](https://csdnimg.cn/release/blogv2/dist/pc/img/arrowDownAttend.png)




![](https://csdnimg.cn/release/blogv2/dist/pc/img/vip-limited-close-newWhite.png)

确定要放弃本次机会?

福利倒计时


:

:




![](https://csdnimg.cn/release/blogv2/dist/pc/img/vip-limited-close-roup.png)
立减 ¥

普通VIP年卡可用

立即使用





![

程序大视界

](https://blog.csdn.net/Follow_24)


关注
关注



-

![](https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUpactive.png)
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/like-active.png)
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/like.png)

15


点赞

-

![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/unlike-active.png)
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/unlike.png)



-
[
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/collect-active.png)
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/collect.png)
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCollectActive.png)

66

](javascript:;)



收藏





觉得还不错?

一键收藏

![](https://csdnimg.cn/release/blogv2/dist/pc/img/collectionCloseWhite.png)


-

![](https://csdnimg.cn/release/blogv2/dist/pc/img/guideRedReward01.png)
知道了

[
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/comment.png)

1

](#commentBox)
评论

-
[
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/share.png)
分享
](javascript:;)



复制链接


分享到 QQ


分享到新浪微博




![](https://csdnimg.cn/release/blogv2/dist/pc/img/share/icon-wechat.png)扫一扫




-
[
![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/reward.png)
打赏
](javascript:;)
打赏

-

![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/more.png)





![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/reward.png)
打赏


![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/report.png)
举报




![](https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/report.png)
举报






专栏目录

http://www.jsqmd.com/news/772299/

相关文章:

  • Spicetify配置管理终极指南:3步打造个性化Spotify体验
  • 大学生HTML期末大作业——HTML+CSS+JavaScript音乐网站(RAZA)
  • 终极移动端设计调试指南:VisBug如何在不同设备尺寸下完美适配
  • Locale Remulator:彻底解决多语言软件乱码问题的3步终极方案
  • 3分钟学会B站视频转文字,你的学习效率提升5倍秘诀
  • SpringCloud与Dubbo的比较
  • 2026年木把手工厂直通热线:匠心工艺,品质保证 - GrowthUME
  • 自律的程序员生活是什么样的?
  • 开源ChatGPT WebUI:自托管部署、核心功能与安全实践全解析
  • Docker Compose环境管理:从原理到实战的自动化部署指南
  • 5步解锁AI绘画魔法:图形化训练你的专属艺术模型
  • 别再死记硬背了!用程序员思维图解逻辑推理:联言、选言、假言的等价转换(附记忆口诀)
  • 芙蓉镇美食推荐,芙蓉镇口碑餐厅推荐 - GrowthUME
  • 从无名到有名,老子这句话给 SAP CAP 开发的一条架构心法
  • HashMap都在用,原理你真的了解吗?
  • 终极指南:Can-I-Take-Over-XYZ指纹库解析135+云服务漏洞状态
  • 基于提示词工程的AI智慧日报系统:零代码实现跨文化历史故事生成
  • Ribbon和Feign客户端负载均衡及服务调用
  • fastbook商业应用:AI项目商业化落地终极指南
  • 终极指南:Vue3后台管理系统状态管理进阶——复杂业务逻辑的优雅处理方案
  • YC - 35 背心无人 AI 工作站:服装生产的变革者,是噱头还是实力?
  • 别再为对账差异头疼了!SAP序时账导出避坑指南:BKPF/BSEG字段选择与凭证状态排除
  • 单体架构,分布式系统的差别在哪里?
  • 基于fortbot框架的Python量化交易机器人开发实战指南
  • SpringCloud分布式配置中心浅谈
  • 无名入库,有名成器,老子这句话放进 SAP HANA 开发里,是一套从混沌数据到可信模型的修炼法
  • 2026年5月苏州昆山发电机租赁最新排行榜:实测top4家出租服务商合规资质与服务对比 - 奋斗者888
  • 终极OpenVINO AI插件指南:30分钟让Audacity变身专业音频工作站
  • Next.js全栈开发最佳实践:从TypeScript到Tailwind CSS的完整工具链
  • 别再手动切换方向了!盘点ADI和TI那几款能自动换向的RS485芯片(附选型避坑指南)