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的基本原理和配置方式,以便在需要时进行自定义和调优。

相关推荐
广州山泉婚姻1 分钟前
解锁高效开发:Spring Boot 3和MyBatis-Flex在智慧零工平台后端的应用实战
人工智能·spring boot·spring
守护者1709 分钟前
JAVA学习-练习试用Java实现“一个词频统计工具 :读取文本文件,统计并输出每个单词的频率”
java·学习
bing_15820 分钟前
Spring Boot 中ConditionalOnClass、ConditionalOnMissingBean 注解详解
java·spring boot·后端
ergdfhgerty22 分钟前
斐讯N1部署Armbian与CasaOS实现远程存储管理
java·docker
勤奋的知更鸟35 分钟前
Java性能测试工具列举
java·开发语言·测试工具
三目君39 分钟前
SpringMVC异步处理Servlet
java·spring·servlet·tomcat·mvc
用户05956611920939 分钟前
Java 基础篇必背综合知识点总结包含新技术应用及实操指南
java·后端
fie888939 分钟前
Spring MVC扩展与SSM框架整合
java·spring·mvc
不太可爱的叶某人1 小时前
【学习笔记】深入理解Java虚拟机学习笔记——第3章 垃圾收集器与内存分配策略
java·笔记·学习
YuTaoShao1 小时前
Java八股文——JVM「类加载篇」
java·开发语言·jvm