Spring,SpringBoot,Spring MVC的区别是什么

这篇具有很好参考价值的文章主要介绍了Spring,SpringBoot,Spring MVC的区别是什么。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Spring是什么

我们通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是⼀个开源框架,有着活跃⽽庞⼤的社区,这就是它之所以能⻓久不衰的原因。Spring ⽀持⼴泛的应⽤场景,它可以让 Java 企业级的应⽤程序开发起来更简单。

⽤⼀句话概括 Spring:Spring 是包含了众多⼯具⽅法的 IoC 容器。

既然 Spring 是⼀个 IoC(控制反转)容器,重点还在“容器”⼆字上,那么它就具备两个最基础的功能:

  • 将对象存⼊到容器;
  • 从容器中取出对象。

也就是说学 Spring 最核⼼的功能,就是学如何将对象存⼊到 Spring 中,再从 Spring 中获取对象的过程。

1.1 什么是IoC

Spring 是⼀个 IoC 容器,说的是对象的创建和销毁的权利都交给 Spring 来管理了,它本身⼜具备了存储对象和获取对象的能⼒。

IoCInversion of Control
翻译控制反转

控制反转,即控制权反转,对于依赖对象管理的控制权反转,把对象交给spring管理,使用的时候直接使用。

好处:将对象存储在 IoC 容器相当于将以后可能⽤的所有⼯具制作好都放到仓库中,需要的时候直接取就⾏了,⽤完再把它放回到仓库。⽽ new 对象的⽅式相当于,每次需要⼯具了,才现做,⽤完就扔掉了也不会保存,下次再⽤的时候还得重新做,这就是 IoC 容器和普通程序开发的区别。

1.2 什么是DI

DI: Dependency Injection
翻译:依赖注入

所谓依赖注⼊,就是由 IoC 容器在运⾏期间,动态地将某种依赖关系注⼊到对象之中。所以,依赖注⼊(DI)和控制反转(IoC)是从不同的⻆度的描述的同⼀件事情,就是指通过引⼊ IoC 容器,利⽤依赖关系注⼊的⽅式,实现对象之间的解耦

  • 解耦(Decoupling)是指将两个或多个紧密耦合的组件、系统或功能解开,使它们能够独立地进行操作、修改或扩展,而不会对彼此产生过多的影响。解耦的目的是降低组件之间的依赖性,增加系统的灵活性、可维护性和可扩展性。
  • 举个例子:⽐如说我今天⼼情⽐较好,吃⼀顿好的犒劳犒劳⾃⼰,那么“吃⼀顿好的”是思想和⽬标(是 IoC),但最后我是吃海底捞还是杨国福?这就是具体的实现,就是 D

IoC 是“⽬标”也是⼀种思想,⽽⽬标和思想只是⼀种指导原则,最终还是要有可⾏的落地⽅案,⽽ DI就属于具体的实现

2.Spring Boot

Spring Boot 本质上是 Spring 框架的延伸和扩展,它的诞生是为了简化 Spring 框架初始搭建以及开发的过程,使用它可以不再依赖 Spring 应用程序中的 XML 配置,为更快、更高效的开发 Spring 提供更加有力的支持。

3.Spring MVC是什么

官方描述翻译:Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。

由上可知:

  1. Spring MVC 是⼀个 Web 框架。
  2. Spring MVC 是基于 Servlet API 构建的。

它的正式名称是:Spring Web MVC

也被称为:Spring MVCSpring web

那么,什么是MVC呢?

1.MVC是什么

早期的MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构模式,它把软件系统分
模型视图控制器三个基本部分。

Spring,SpringBoot,Spring MVC的区别是什么,Spring,spring,spring boot,mvc,java,后端

如图所示,Spring MVC就是实现了这一套架构。

  • Model(模型)是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
  • View(视图)是应⽤程序中处理数据显示的部分。通常视图是依据模型数据创建的。
  • Controller(控制器)是应⽤程序中处理⽤户交互的部分。通常控制器负责从视图读取数据, 控制⽤户输⼊,并向模型发送数据。

现在的MVC更合适称之为Spring web。如果想要前后端分离,那么就不适合再做view的开发。而去掉了view,MVC就变成了Spring web。

3.Spring,SpringBoot,Spring MVC的区别是什么

这三者实际上没有明确的区分。一个项目,可以是SpringMVC,又是SpringBoot,又是Spring项目。

Spring:spring框架就像一个家族,有众多衍生产品例如:boot、security、jpa等等。但它们的基础都是Spring的ioc、aop等;ioc提供了依赖注入的容器,aop解决了面向横切面编程,然后在此两者的基础上实现了其他产品的高级功能。

SpringBoot:Spring Boot 对于Spring框架来收,是 Spring 框架的延伸和扩展,它生是为了简化 Spring 框架初始搭建以及开发的过程springBoot框架;相对于springMVC框架来说,它更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相springmvc,大大简化了配置流程。

Spring MVC:springMvc是spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于spring框架中WEB层开发的一部分。

举个例子:

Spring :假设Spring是一个高铁,车速很快但是这个高铁买票退票都很不方便,必须要去火车站。
SpringBoot:高铁(Spring)+ 12306(买票退票方便) + 周边配套设置文章来源地址https://www.toymoban.com/news/detail-610506.html

到了这里,关于Spring,SpringBoot,Spring MVC的区别是什么的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】

    1. 用户id 2. 用户名 3. 密码 4. 天梯积分 5. 总场数 6. 获胜场数 和数据库的数据一一对应 1. 连接数据库(application.yml连接数据库) 这个可以直接赋值代码 2. 创建UserMapper的Java接口(interface UserMapper) 创建接口,在UserMapper.xml实现 在model中创建 需要实现@Mapper注释 3. 创建UserMappe

    2024年02月13日
    浏览(47)
  • 如何在Spring Boot中使用Spring MVC

    目录 1.MVC 2.Spring MVC 3.Spring Boot中使用Spring MVC 3.1.配置 3.1.1.文件配置 3.1.2.代码配置 3.2.使用 3.2.1.映射处理器 3.2.2.传参 3.2.3.参数转换 3.2.4.数据校验 3.2.5.数据模型 3.2.6.视图和解析器 3.2.7.拦截器 MVC 是一种常见的软件设计模式,用于分离应用程序的不同部分以实现松散耦合和高内

    2023年04月15日
    浏览(39)
  • 简单谈下Spring、Spring MVC和Spring Boot

    Spring是一个开源的轻量级框架,用于构建Java应用程序。它提供了一种全面的编程和配置模型,可以帮助开发人员构建各种类型的应用程序,从简单的控制台应用程序到大型企业级应用程序。Spring框架的主要目标是提高应用程序的可维护性、可扩展性和测试性。 以下是Spring框

    2024年02月10日
    浏览(62)
  • Spring Boot Web MVC

    Spring Web MVC 是⼀个 Web 框架,一开始就包含在Spring 框架里。 1. MVC 定义 软件⼯程中的⼀种软件架构设计模式,它把软件系统分为模型、视图和控制器三个基本部分 2. 什么是Spring MVC MVC 是⼀种架构设计模式, 也⼀种思想, ⽽ Spring MVC 是对 MVC 思想的具体实现 Spring MVC 是⼀个实现了

    2024年02月06日
    浏览(35)
  • Spring Boot、Spring MVC 和 Spring Cloud 深度解析

    Spring Boot、Spring MVC 和 Spring Cloud是三个在Java企业级开发中非常重要的框架。他们各自具有不同的功能,但是也可以一起使用来创建强大且可扩展的应用程序。 Spring Boot是为了简化Spring应用开发而创建的。它使用了一种\\\"约定优于配置\\\"的方法,使得开发者可以更加专注于编写业

    2024年02月07日
    浏览(40)
  • 一次搞清Spring 、Spring Boot、Spring Web MVC、Spring WebFlux

    介绍Spring生态系统,辨析Spring、Spring Boot、Spring Web MVC和Spring WebFlux。 微信搜索关注《Java学研大本营》 在软件开发中,应用框架为代码库提供基础设施支持,使编程更容易。Spring是Java领域最受欢迎的开源应用框架。Spring由多个模块和附加组件组成,术语“Spring”通常用来指代

    2024年02月19日
    浏览(39)
  • spring boot入门与理解MVC三层架构

    分层是为了实现“高内聚,低耦合”,把问题划分开来,各个解决,易于控制,延展和分配资源,最重要有利于后期维护项目; MVC指的是model,view,controller; 在SpringMVC编程中一般分为四层: 1.表示层:(jsp、html 主要就是界面的展示),负责前后端交互,接收前端发送的请求,

    2024年02月05日
    浏览(51)
  • 11 spring-boot的MVC配置原理

            1.ContentNegotiatingViewResolver视图解析器;         2.静态资源或者支持WebJars;         3.自动注册类型转换器:比如说前台提交user的字段,后台自动封装的意思;         4.HttpMessageConverters:转换http的请求和相应,比如把一个user字符串转为一个json字符串;        

    2024年02月15日
    浏览(39)
  • Spring MVC 是什么?

    2023年07月27日
    浏览(33)
  • Spring MVC 之MVC 体系结构、什么是SpringMVC

    三层架构 我们的开发架构⼀般都是基于两种形式,⼀种是 C/S 架构,也就是客户端/服务器;另⼀种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中,⼏乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。 三层架构中,每

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包