Spring、SpringMVC、SpringBoot三者的区别

目录

Spring是什么?

SpringMVC是什么?

SpringBoot是什么?

Spring、SpringMVC、SpringBoot三者之间的关系


Spring是什么?

Spring是一个开源的应用程序框架,它提供了一种简易的开发方式,通过依赖注入和面向切面编程,可以实现高内聚低耦合的应用程序。Spring还提供了多个模块,如Spring AOP,Spring JDBC,Spring MVC,Spring ORM,Spring JMS,Spring Test等,可以与各种第三方框架进行整合。

SpringMVC是什么?

SpringMVC是Spring框架的一个模块,专门用于构建Web应用程序。它实现了MVC模式,将应用程序分为三个层次:模型(Model),视图(View)和控制器(Controller)。模型是应用程序的数据层,负责封装业务逻辑和数据访问。视图是应用程序的展示层,负责渲染用户界面。控制器是应用程序的控制层,负责处理用户请求和调用模型和视图。

SpringMVC使用前端控制器模式,通过一个名为DispatcherServlet的核心组件来统一管理所有的请求。DispatcherServlet负责将请求分发给相应的控制器,并将控制器返回的模型和视图名称解析为具体的视图对象,最终将视图渲染给用户。

SpringBoot是什么?

SpringBoot是一个基于Spring框架的微服务框架,它可以快速地创建和运行独立的、生产级的应用程序。它具有以下特点:

  • 自动配置:根据类路径上的依赖包,自动配置合适的组件和属性,无需过多的配置文件。
  • 起步依赖:提供了一系列的Starter模块,可以轻松地引入常用的依赖包,并管理其版本和兼容性。
  • 嵌入式容器:支持内嵌Tomcat、Jetty、Undertow等Web容器,可以直接运行jar包而无需部署war包。
  • 健康检查和度量:提供了Actuator模块,可以监控和管理应用程序的运行状况和性能指标。
  • 外部化配置:支持多种方式来配置应用程序的属性,如properties文件、yaml文件、环境变量、命令行参数等,并支持动态刷新。

Spring、SpringMVC、SpringBoot三者之间的关系

从上面的介绍可以看出,Spring、SpringMVC、SpringBoot三者之间有着密切的联系:

  • SpringMVC是基于Spring框架的一个Web开发模块,它使用了Spring框架提供的依赖注入、事务管理、AOP等特性,并且可以与其他Spring模块进行整合。
  • SpringBoot是基于Spring框架的一个微服务框架,它使用了SpringMVC作为Web开发组件,并且可以引入其他Spring模块作为起步依赖。它还提供了自动配置、嵌入式容器、健康检查等功能,简化了应用程序的开发和部署。

因此,可以说SpringBoot > SpringMVC > Spring ,即SpringBoot包含了SpringMVC,而SpringMVC又包含了Spring。但这并不意味着使用了SpringBoot就不需要了解或使用Spring或者SpringMVC了。相反,在使用SpringBoot时,还需要了解Spring和SpringMVC的基本原理和配置方式,以便在需要时进行自定义和调优。

相关推荐
贫民窟的勇敢爷们3 小时前
SpringBoot整合AOP切面编程实战,实现日志统一记录+接口权限校验
java·spring boot·spring
AC赳赳老秦4 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
迈巴赫车主4 小时前
Java基础:list、set、map一遍过
java·开发语言
灵犀学长5 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
好家伙VCC6 小时前
【无标题】
java
小碗羊肉7 小时前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet
吾疾唯君医7 小时前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong7 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
hexu_blog8 小时前
vue+java实现图片批量压缩
java·前端·vue.js
头歌实践平台8 小时前
Hadoop开发环境搭建
java·大数据·hadoop