Spring Boot教程之三:Spring Boot 与 Spring MVC 及 Spring的区别

ops/2024/11/20 13:06:22/

Spring Boot 与 Spring MVC 的区别

Spring MVC: Spring 被广泛用于创建可扩展的应用程序。对于 Web 应用程序,Spring 提供了 Spring MVC 框架,它是 Spring 的一个广泛使用的模块,用于创建可扩展的 Web 应用程序。Spring MVC 框架支持分离模块(即模型视图、控制器),并无缝处理应用程序集成。这使开发人员能够使用普通的 Java 类创建复杂的应用程序。可以使用映射在视图和控制器之间传递模型对象。在本文中,我们将了解如何在 Eclipse IDE 中设置 Spring MVC 应用程序并了解如何创建应用程序。Spring MVC 框架由以下组件组成:

  • 模型——模型可以是对象或对象集合,其基本包含应用程序的数据。
  • 视图 –视图用于以特定格式向用户显示信息。Spring 支持各种技术,例如freemarkervelocitythymeleaf
  • 控制器 –它包含应用程序的逻辑部分。@Controller注释用于将该类标记为控制器。
  • 前端控制器 –它仍然负责管理 Web 应用程序的流程。Dispatcher Servlet 在 Spring MVC 中充当前端控制器。

Spring Boot: Spring Boot 建立在传统的 Spring 框架之上。因此,它提供了 Spring 的所有功能,并且比 Spring 更易于使用。Spring Boot 是一个基于微服务的框架,可以在很短的时间内制作出可用于生产的应用程序。在 Spring Boot 中,一切都是自动配置的。我们只需要使用适当的配置来使用特定的功能。如果我们想开发 REST API,Spring Boot 非常有用。Spring Boot 提供了将我们的项目转换为 war 或 jar 文件的功能。此外,Tomcat 的实例也可以在云上运行。Spring Boot 中有四个主要层:

  • 表示层——顾名思义,它由视图(即前端部分)组成。
  • 数据访问层 –数据库上的 CRUD(创建、检索、更新、删除)操作属于此类别。
  • 服务层——由服务类组成并使用数据访问层提供的服务。
  • 集成层——它由不同的 Web 服务组成(任何可通过互联网提供的服务并使用XML消息传递系统)。

Spring MVC 和 Spring Boot 之间的区别:

序号Spring MVC 简介Spring Boot 简介
1.Spring MVC 是一个基于模型、视图和控制器的 Web 框架,广泛用于开发 Web 应用程序。Spring Boot 建立在传统的 Spring 框架之上,广泛用于开发 REST API。
2.如果我们使用 Spring MVC,我们需要手动构建配置。如果我们使用 Spring Boot,则无需手动构建配置。
3.在 Spring MVC 中,需要部署描述符。在 Spring Boot 中,不需要部署描述符。
4.Spring MVC 单独指定每个依赖项。它将依赖关系包装到一个单元中。
5.Spring MVC 框架由四个组件组成:模型,视图,控制器和前端控制器。Spring Boot 中有四个主要层:表示层、数据访问层、服务层和集成层。
6.开发需要更多时间。它减少了开发时间并提高了生产力。
7.Spring MVC 不提供强大的批处理功能。Spring Boot 提供了强大的批处理功能。
8.它提供了可用于构建 Web 应用程序的即用型功能。它提供了用于构建 Spring 驱动的框架的默认配置。

Spring 和 Spring Boot 之间的区别

Spring 
Spring是一个开源轻量级框架,允许 Java 开发人员构建简单、可靠且可扩展的企业应用程序。该框架主要侧

重于提供各种方法来帮助您管理业务对象。与经典 Java 框架和应用程序编程接口 (API)(例如 Java 数据库连接 (JDBC)、JavaServer Pages (JSP) 和 Java Servlet)相比,它使 Web 应用程序的开发变得更加容易。该框架使用各种新技术(例如面向方面编程 (AOP)、普通旧式 Java 对象 (POJO) 和依赖注入 (DI))来开发企业应用程序。Spring 框架可以被视为子框架的集合,也称为层,例如 Spring AOP、Spring 对象关系映射 (Spring ORM)、Spring Web Flow 和 Spring Web MVC。您可以在构建 Web 应用程序时单独使用这些模块中的任何一个。还可以对模块进行分组以在 Web 应用程序中提供更好的功能。 


Spring Boot 

Spring Boot建立
在传统的 Spring 框架之上。因此,它提供了 Spring 的所有功能,并且比 Spring 更易于使用。Spring Boot 是一个基于微服务的框架,可以在很短的时间内创建可用于生产的应用程序。在 Spring Boot 中,一切都是自动配置的。我们只需要使用适当的配置来利用特定的功能。如果我们想开发 REST API,Spring Boot 非常有用。 

为什么选择 Spring Boot 而不是 Spring?

让我们知道,如果 Spring 解决了所有问题,那么 Spring Boot 到底有什么用呢?

我们之所以需要 Spring Boot,是因为我们正在改变或转向微服务之类的应用程序。有了微服务,最重要的目标之一就是我们希望能够非常快速地开发应用程序。因此,我们不想构建一个大型应用程序,而是构建十个小型微服务,这些微服务有自己的范围和功能。基于 Spring 的应用程序有很多配置。它可以是XML 配置、Java 配置或注释等。例如,如果我们想使用 Spring MVC,我们需要使用@ComponentScan注释、Dispatcher servlet视图解析器web jar等。这种配置会使应用程序的开发速度变慢。因此,Spring Boot 自动配置就派上用场了。它会查看类路径上有哪些类型的框架,并查看程序员提供了哪些配置或已经为应用程序提供了哪些配置。它会查看两者。数据未配置,但类路径上有休眠状态,因此它会自动配置数据源。它将配置内存数据库,它将自动配置调度程序 servlet。这称为自动配置。Spring Boot 会创建一个启动项目,所有 XML 配置和依赖项都默认通过该项目获取。

Spring 和 Spring Boot 之间的区别

Spring

Spring Boot

Spring是一个广泛用于开发企业应用程序的开源轻量级框架。

Spring Boot 建立在传统的 Spring 框架之上,广泛用于开发 REST API。

Spring 框架最重要的特性是依赖注入。

Spring Boot 最重要的特性是自动配置。

它有助于创建松散耦合的应用程序。

它有助于创建独立的应用程序。

要运行 Spring 应用程序,我们需要明确设置服务器。

Spring Boot 提供嵌入式服务器,如 Tomcat、Jetty 等。

要运行 Spring 应用程序,需要一个部署描述符。

不需要部署描述符。

为了创建 Spring 应用程序,开发人员需要编写大量代码。

它减少了代码行数。

它不提供对内存数据库的支持。

它为H2等内存数据库提供支持。

开发人员需要为较小的任务编写样板代码。

在 Spring Boot 中,样板代码减少了。

开发人员必须在 pom.xml 文件中手动定义依赖项。

pom.xml 文件在内部处理所需的依赖项。

最后

基本上,Spring 和 Spring Boot 之间没有可比性,它们各自解决各自的问题。这种比较其实并不重要,因为 Spring 解决了自己的依赖注入问题,而 Spring Boot 解决了快速开发等应用程序的问题。最后,它们有各自的问题空间。


http://www.ppmy.cn/ops/135237.html

相关文章

【蓝桥杯C/C++】深入解析I/O高效性能优化:std::ios::sync_with_stdio(false)

文章目录 💯前言💯C 语言与 C 语言的输入输出对比1.1 C 语言的输入输出1.2 C 语言的输入输出 💯 std::ios::sync_with_stdio(false) 的作用与意义2.1 什么是 std::ios::sync_with_stdio(false)2.2 使用 std::ios::sync_with_stdio(false) 的示…

安全见闻4

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

vim配置 --> 在创建的普通用户下

在目录/etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim配置文件对所有用户都有效 我们现在创建一个普通用户 dm 创建好以后,我们退出重新链接 再切换到普通用户下 再输入密码(是不显示的,输入完后,…

网络层7——外部网关协议BGP

首先我们来搞清楚一个问题: 那就是为什么要分内部和外部协议? 直接搞同一个协议不就行了吗? 好的,例如我们现在只有内部协议,RIP和OSPF 对RIP协议:最多支持15路由器,无法实现全球联网 对OSPF协议…

初学人工智不理解的名词3

TTS领域的名词 from gpt-4o 在 TTS(文本到语音合成) 领域,以下是 CFM、One-Step 蒸馏 和 ReFlow 的含义和作用的详细解释: 1. CFM(Consistent Flow Matching) Consistent Flow Matching(一致流…

React-Router路由基础篇

环境准备: 安装nvm和nrm,详情请看如下链接: nvm的使用-CSDN博客,nrm的使用-CSDN博客 使用的是React脚手架:Getting Started | Create React App 中文文档 使用的是fusion组件设计:PC 官网 - 首页 使用…

解决Spring Boot整合Redis时的连接问题

前言 在使用Spring Boot整合Redis的过程中,经常会遇到连接问题,尤其是当Redis服务部署在远程服务器上时。 问题描述 当你尝试连接到Redis服务器时,可能会遇到以下错误: org.springframework.data.redis.connection.PoolExcept…

模拟电路(速记版)

1、运放原理是什么 差分输入,运放有两个输入端,运放会放大两个输入端之间的电压差。 虚短,在理想运放中,正、负输入端电压接近相等,导致输入端呈现"接地"状态。 虚断,运放的输入阻抗非常高&#…