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

相关推荐
海边漫步者几秒前
Idea2024中搭建JavaFX开发环境并创建运行项目
java·intellij-idea·javafx
Warren9811 分钟前
Springboot中分析SQL性能的两种方式
java·spring boot·后端·sql·mysql·intellij-idea
Distance失落心1 小时前
idea任意版本的安装
java·ide·java-ee·eclipse·intellij-idea
Aphelios3801 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(下)
java·linux·学习·编辑器·vim
毕业设计-011 小时前
0083.基于springboot+uni-app的社区车位租赁系统小程序+论文
spring boot·小程序·uni-app
独孤求败Ace1 小时前
第46天:Web开发-JavaEE应用&原生和FastJson反序列化&URLDNS链&JDBC链&Gadget手搓
java·spring·java-ee
Ting-yu1 小时前
项目实战--网页五子棋(匹配模块)(4)
java
优人ovo1 小时前
3分钟idea接入deepseek
java·ide·intellij-idea
计算机学姐1 小时前
基于SpringBoot的校园消费点评管理系统
java·vue.js·spring boot·后端·mysql·spring·java-ee
猎人everest1 小时前
Spring Boot数据访问(JDBC)全解析:从基础配置到高级调优
java·spring boot·后端