Spring学习笔记04:spring mvc和Spring Boot之间是什么关系?

Spring MVC 是什么?

想象你开了一家餐厅,顾客(用户)点菜、服务员传话、厨师做菜、最后服务员上菜。Spring MVC 就是规定这套流程的“餐厅管理规则”,专门用于处理网页请求(HTTP)和响应。

核心角色
  1. Model(厨师):处理数据(比如查数据库、计算逻辑)。
  2. View(摆盘):展示结果(比如 HTML 网页、JSON 数据)。
  3. Controller(服务员):接收用户请求,协调 Model 和 View。
工作流程
  1. 用户访问 /order 页面(点菜)。
  2. Controller 接收请求,调用 Model 处理(让厨师做菜)。
  3. Model 返回数据,Controller 交给 View 展示(服务员端菜上桌)。

Spring Boot 是什么?

Spring Boot 是 Spring 的“快速开店工具包”,它的目标是:让你用最少的配置,快速启动一个 Spring 应用(餐厅)

Spring Boot 的魔法
  1. 自动配置:默认帮你配好 Spring MVC、数据库连接等基础设置(比如自动摆放桌椅、厨房设备)。
  2. 内嵌服务器:不用自己装 Tomcat,直接打包成可执行的 JAR 文件(餐厅自带厨房和厨师)。
  3. 起步依赖:一句话引入常用功能(比如 spring-boot-starter-web 包含 Spring MVC + Tomcat)。

Spring MVC 和 Spring Boot 的关系

1. Spring Boot 简化了 Spring MVC 的使用
  • 传统 Spring MVC:你需要手动配置一堆 XML 或 Java 代码(比如配 DispatcherServlet、视图解析器)。
  • Spring Boot + Spring MVC:只要添加 spring-boot-starter-web 依赖,Spring Boot 自动配置好 Spring MVC,你只需写业务代码。
2. 代码对比
  • 传统 Spring MVC 的配置:
    <!-- 手动配置 DispatcherServlet -->
    <servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-mvc.xml</param-value></init-param>
    </servlet>
    
  • Spring Boot 中:无需配置,直接写 Controller:
    @RestController
    public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot!"; // 自动处理请求和响应}
    }
    
3. 项目依赖关系
  • Spring Boot 像一个“大礼包”,内部已经整合了 Spring MVC 和其他常用模块(如 Spring Data、Spring Security)。
  • 当你用 Spring Boot 开发 Web 应用时,Spring MVC 是它的核心组件之一

总结

  • Spring MVC:是处理 Web 请求和响应的具体规则(像餐厅的服务流程)。
  • Spring Boot:是快速开店的工具包,内置了 Spring MVC 并帮你自动配置好一切。
  • 关系:Spring Boot 让 Spring MVC 的使用变得极其简单,就像“一键开店”!

类比总结

概念比喻核心作用
Spring MVC餐厅服务流程(点菜-做菜-上菜)处理 HTTP 请求和响应
Spring Boot快速开店工具包自动配置 Spring MVC 和其他基础设施

初学只需记住:用 Spring Boot 写 Web 应用,本质就是在用 Spring MVC,但不用操心配置! 🚀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27688.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI发布GPT-4.5:功能非常特殊,推理很贵

今天凌晨4点&#xff0c;OpenAI进行了在线技术直播&#xff0c;发布了最新模型GPT-4.5。 GPT-4.5与之前的模型相比&#xff0c;本次最大的亮点是加上了“情商”&#xff0c;这也是目前所有大模型最缺、最难的功能。 此外&#xff0c;GPT-4.5 在SimpleQA上的测试数据显示&…

unity pico开发二:连接头盔,配置手柄按键事件

文章目录 导入UnityXR Interaction ToolKit构建基础内容 导入UnityXR Interaction ToolKit 检查一下packagemanager&#xff0c;unityxr interactionToolkit是否自动导入 我们需要升级到一个不超过3.x的版本&#xff0c;因为pico还不支持3.x的内容 然后右侧samples里导入初始…

k8s架构及服务详解

目录 1.1.容器是什么1.2.Namespace1.3.rootfs5.1.Service介绍5.1.1.Serice简介 5.1.1.1什么是Service5.1.1.2.Service的创建5.1.1.3.检测服务5.1.1.4.在运行的容器中远程执行命令 5.2.连接集群外部的服务 5.2.1.介绍服务endpoint5.2.2.手动配置服务的endpoint5.2.3.为外部服务…

【含文档+PPT+源码】基于SpringBoot和Vue的编程学习系统

项目介绍 本课程演示的是一款 基于SpringBoot和Vue的编程学习系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3.该…

【FL0090】基于SSM和微信小程序的球馆预约系统

&#x1f9d1;‍&#x1f4bb;博主介绍&#x1f9d1;‍&#x1f4bb; 全网粉丝10W,CSDN全栈领域优质创作者&#xff0c;博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发…

macos下myslq图形化工具之Sequel Ace

什么是Sequel Ace 官方github&#xff1a;https://github.com/Sequel-Ace/Sequel-Ace Sequel Ace 是一款快速、易于使用的 Mac 数据库管理应用程序&#xff0c;用于处理 MySQL 和 MariaDB 数据库。 Sequel Ace 是一款开源项目&#xff0c;采用 MIT 许可证。用户可以通过 Ope…

1.2.2 使用Maven方式构建Spring Boot项目

本次实战通过Maven方式构建了一个Spring Boot项目&#xff0c;实现了简单的Web应用。首先&#xff0c;创建了Maven项目并设置好项目名称、位置、构建系统和JDK等。接着&#xff0c;添加了Spring Boot的父项目依赖和web、thymeleaf起步依赖。然后&#xff0c;创建了项目启动类He…

Java【多线程】(2)线程属性与线程安全

目录 1.前言 2.正文 2.1线程的进阶实现 2.2线程的核心属性 2.3线程安全 2.3.1线程安全问题的原因 2.3.2加锁和互斥 2.3.3可重入&#xff08;如何自己实现可重入锁&#xff09; 2.4.4死锁&#xff08;三种情况&#xff09; 2.4.4.1第一种情况 2.4.4.2第二种情况 2.4…

[IP] DDR_FIFO(DDR3 用户FIFO接口)

IP(DDR_FIFO)将DDR3 IP的用户侧复杂接口修改为简易的FIFO接口&#xff0c;用户侧更加简易例化使用MIG 核 IP介绍 c0_xx (连接DDR app接口) 此IP 仅需根据MIG配置进行有限修改&#xff0c;即可使用&#xff01; 关于IP详细使用说明&#xff0c;参考IP datasheet&#xff01; 示…

USRP6330-通用软件无线电平台

1、产品描述 USRP6330平台以XILINX XCZU15EG SOC处理器为核心&#xff0c;搭配两片ADI ADRV9026射频集成芯片&#xff0c;提供了瞬时带宽高达200MHz的8收8发射频通道。通过驯服的高精度GPSDO时钟参考方案&#xff0c;USRP可以支持高性能的MIMO通信系统&#xff0c;提供了部署大…

P8615 [蓝桥杯 2014 国 C] 拼接平方数--substr、to_string、stoi

P8615 [蓝桥杯 2014 国 C] 拼接平方数--substr、to_string、stoi 题目 解析介绍一下这三个函数&#xff1a;1、to_string&#xff08;&#xff09;&#xff1a;2、stoi&#xff08;&#xff09;&#xff1a;3、substr&#xff08;&#xff09;&#xff1a;代码 题目 解析 首先…

一键安装Nginx部署脚本之Linux在线安装Nginx,脚本化自动化执行服务器部署(附执行脚本下载)

相关链接 一键安装Nginx部署脚本之Linux在线安装Nginx一键安装Redis部署脚本之Linux在线安装Redis一键安装Mysql部署脚本之Linux在线安装Mysql一键安装JAVA部署脚本之Linux在线安装JDKXshell客户端免费版无需注册XFtp客户端免费版无需注册 前言 简化服务器部署操作&#xff0…

反向代理以及其使用场景

一、反向代理概念 反向代理(Reverse Proxy)是一种服务器配置,它将客户端的请求转发给内部的另一台或多台服务器处理,然后将响应返回给客户端。与正向代理(Forward Proxy)不同,正向代理是客户端的代理,客户端将请求发送到代理服务器,再由代理服务器访问目标服务器;而…

Linux网络 NAT、代理服务、内网穿透

NAT 技术 IPv4 协议中存在 IP 地址数量不充足的问题&#xff0c;而 NAT 技术是当前解决 IP 地址不够用的主要手段 , 是路由器的一个重要功能。NAT 能够将私有 IP 对外通信时转为全局 IP&#xff0c;也就是就是一种将私有 IP 和全局 IP 相互转化的技术方法。 这可以让很多学…

广义线性模型下的数据分析(R语言)

一、实验目的&#xff1a; 通过上机试验&#xff0c;掌握利用R实现线性回归分析、逻辑回归、列联分析及方差分析&#xff0c;并能对分析结果进行解读。 数据&#xff1a; 链接: https://pan.baidu.com/s/1JqZ_KbZJEk-pqSUWKwOFEw 提取码: hxts 二、实验内容&#xff1a; 1、2…

Windows环境下Maven的配置

Windows环境下Maven的配置 一、Maven下载 Maven官网地址 apache-maven-3.8.8-bin.zip 二、安装和配置 解压到本地目录&#xff0c;例如&#xff1a;D:\software\apache-maven-3.8.8 新建变量MAVEN_HOMED:\software\apache-maven-3.8.8&#xff08;以自己的安装路径为准&…

Spring MVC 处理请求

目录 1、SpringMVC 处理请求1.1、HTTP 请求报文1.2、获取 URL 中参数 PathVariable1.3、获取请求头数据1.3.1、传统获取 Header/Cookie1.3.2、获取 Header—RequestHeader1.3.3、获取 Cookie—CookieValue1.3.4、Session 的存储和获取—SessionAttribute 1.4、获取请求数据1.4.…

OpenAI 最后一代非推理模型:OpenAI 发布 GPT-4.5预览版

最后一代非推理大模型 在人工智能领域&#xff0c;OpenAI 一直以其创新的技术和卓越的产品引领着行业的发展。近期&#xff0c;OpenAI 正式发布了 GPT-4.5 研究预览版。不仅如此&#xff0c;官方还宣称 GPT-4.5 被定位为 “最后一代非推理模型”&#xff0c;这一消息再次引起了…

什么是JTAG、SWD?

一、什么是JTAG&#xff1f; JTAG&#xff08;Joint Test Action Group&#xff0c;联合测试行动小组&#xff09;是一种国际标准测试协议&#xff0c;常用于芯片内部测试及对系统进行调试、编程等操作。以下从其起源、工作原理、接口标准、应用场景等方面详细介绍&#xff1a…

知识周汇|SAP脚本自动化-淋过雨的人更懂得伞的价值

目录 摘要 1 知识概览 1.1SAP GUI脚本 1.2Tracker工具 2 实践案例 2.1步骤1&#xff1a;SAP启动并进入系统&#xff08;文本关键&#xff09; 2.1.1手动操作&#xff1a;鼠标双击SAP&#xff0c;并点击所需要系统 2.1.2代码实现 2.2步骤2&#xff1a;通过tracker完善后…