Spring Boot / Spring MVC 入门实践 (二) :MVC与Spring MVC简介

Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目 本系列文章系本人原创,欢迎转载,转载请注明出处。 本系列文章通过具体的例子,介绍如何通过Spring Boot来帮助简化Spring MVC开发Web Application的过程,旨在通过具体的实践,使读者能够入门利用Spring Boot开发Web Application。 阅读详情

声明

本系列文章系本人原创,欢迎转载,转载请注明出处。

本系列文章通过具体的例子,介绍如何通过spring Boot来帮助简化Spring MVC开发Web Application的过程,旨在通过具体的实践,使读者能够入门利用Spring Boot开发Web Application。

对于文章中贴出的代码,本人均在本地测试过,如果大家对代码有疑问,欢迎在评论区指出。如果大家发现了文章中描述不对的地方,也欢迎指出,以便大家共同进步。

一、MVC简介

MVC即Model、View、Controller,是一种将数据模型,界面(对外接口)以及业务逻辑分离的模式。尽管现在对MVC褒贬不一,但是不可否认的是,MVC仍是现在相当流行的一中模式。(这里遵循网上大多数的说法,将MVC称为一种“模式”,实际上,它与设计模式的“模式”略有不同。)

下面我们通过一个例子来简单的介绍MVC:
这是一个很常见也很简单的例子,在这个例子中,用户提交用户名密码,一个验证工具(可以是一组Java类)在数据表中进行查询(我们假设用户名密码等认证数据存在一张数据表中),并产生认证结果,进而根据验证结果,向用户展示对应的界面(如验证成功则展示欢迎登录的界面,验证失败则展示验证失败,需要重新验证的界面)。
图一、一个简单的用户认证的例子

我们结合上图来简单的介绍下MVC中的三个重要的组建:

M(Model):数据模型,即这个例子中的“数据表”;
V(View):视图,界面,或对外接口,即这个例子中的认证成功的界面或认证失败的界面;
C(Controller):控制器,即这个例子中的“认证工具”。

可以发现,MVC分离了数据模型,视图(对外接口)以及业务逻辑,从而减少了代码的耦合度,使得其中一个组件的改动不会影响到(或影响很少)其他的组件,这就增加了代码的可阅读性并降低了代码的维护成本。

二、Spring MVC简介

Spring MVC是现在相当流行的一套开发Web应用的框架。

下图为摘自Spring官方文档的一张关于Spring MVC的概要图:
(http://docs.spring.io/spring/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#mvc, 18.2 The DispatcherServlet)
这里写图片描述

如上图,“Front Controller”和“Controller”都是MVC中的“C”(Controller),我们可以这样理解:对于一个Web应用,它会接受到很多不同的请求(用户认证,用户注册,用户将某一产品加入购物车,用户分享了某一产品给好友等),所以单独将“Front Controller”列出来,它主要负责将不同的Request分发给对应的Controller进行处理,并根据处理结果指定不同的View以展示。实际上,一般情况下,Spring MVC中的“Front Controller”就是DispatcherServlet,顾名思义,它的主要任务是“分发(Dispatcher)”。

对于上图中的其他部分,读者可以将MVC的知识带入,并试着理解这张图的意思。

Spring MVC的内容远不是一张图能够介绍的。有兴趣的读者可以翻阅Spring的官方文档。本系列文章会在接下来的文章中通过一个实际的例子来介绍Spring Boot和Spring MVC。

Tomcat 与 Spring Boot、Spring MVC Tomcat是Java生态中广泛使用的开源Web服务器,作为Servlet容器负责运行Java Web应用,将代码转化为可访问的服务。它支持Servlet和JSP规范,适合中小型项目。SpringBoot通过内嵌Tomcat简化了部署流程,并自动配置DispatcherServlet作为前端控制器,开发者无需直接处理Servlet。SpringMVC是专注于Web层的框架,而SpringBoot是整合了SpringMVC等组件的快速开发工具。 阅读详情

相关推荐

Spring Boot 管理 Spring MVC:构建现代化 Web 应用的最佳实践

Spring Boot 是 Spring 框架的一部分,它旨在简化 Spring 应用的配置与部署,让开发者能够快速创建生产级别的 Spring 应用。它允许开发者通过控制器来接收请求,并通过视图来响应结果。Spring Boot 是用于快速开发 Spring 应用的框架,它消除了许多传统 Spring 配置的复杂性,并提供了许多开箱即用的功能。Spring Boot 与 Spring MVC 配合使用时,能够让你更容易地构建现代化的 Web 应用,同时保留 Spring MVC 的灵活性和扩展性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1117

SpringBoot与SpringMVC的关系(清晰,简单)

spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。spring mvc 只是spring 处理web层请求的一个模块。因此他们的关系大概就是这样:spring mvc  < spring <springboot。 理清SpringBoot与SpringMVC的关系 Spring 框架就像一个家族,有众...

时光钟摆 4万+

Spring、Spring MVC 与 Spring Boot 的关系与核心用途

2. 核心用途对比 框架 核心用途 典型场景 Spring 提供轻量级容器(IoC/AOP),管理对象生命周期和依赖关系 任何需要解耦和模块化的Java应用 Spring MVC 构建 Web 层应用,处理 HTTP 请求/响应,实现 MVC 分层架构 传统 Web 应用(如企业后台管理系统) Spring Boot 快速启动 Spring 应用,通过自动配置和约定大于配置简化开发 微服务、REST API、快速原型开发 3. 详细解析 3.1 Spring Framework

xiaoyu070321的博客 1958

Spring Boot和Spring MVC之间主要区别

目的不同:Spring Boot是一个用于快速构建现代应用程序的框架,它通过提供依赖管理、自动配置和其他高级功能来简化Spring的开发。而Spring MVC则是Spring框架的一个核心模块,它提供了一系列Web开发相关的组件,例如控制器和视图解析器等,以便于开发Web应用程序。使用范围不同:Spring Boot可以用于创建任何类型的应用程序,从简单的命令行工具到Web应用程序和RESTful API,而Spring MVC则更适合于Web应用程序的开发。Spring Boot是一个用于。

canduecho的专栏 4338

Java Spring、Spring MVC、Spring Boot 和 Spring Cloud 的关系与区别

本文详细介绍了 Java 开发中常用的 Spring 系列框架及其关系。Spring 是核心框架,提供控制反转(IoC)和面向切面编程(AOP)等基础功能。Spring MVC 是 Spring 的模块,专注于 Web 开发,采用 MVC 设计模式。Spring Boot 简化了 Spring 应用的初始搭建和开发,提供默认配置和嵌入式服务器。Spring Cloud 基于 Spring Boot,扩展了分布式系统开发的能力,提供服务发现、熔断器等功能。这些框架共同构成了强大的 Java 开发生态系统,满足

C_V_Better的博客 1306

Spring Boot 与 Spring MVC 有何不同

Spring Boot 和 Spring MVC 都是 Spring 框架的一部分,但它们有不同的目标和功能。以下是它们之间的主要区别:1. 核心目标Spring Boot:Spring Boot 的目标是简化 Spring 应用的配置和部署。它通过提供默认配置和嵌入式服务器(如 Tomcat、Jetty 或 Undert...

Java_fenxiang的博客 1624

SpringMVC与SpringBoot

文章目录一、Spring MVC1.Spring的运行原理二、Spring MVC组件1. 前端控制器(DispatchServlet)2.处理器映射器(HandlerMapping)3.处理器适配器(HandlerAdapter)4.处理器(Handler)5.视图解析器(ViewResolver)6.视图(View)三、SpringMVC框架四、SpringMVC的使用五、SpringBoot框架1.springBoot2.设置SpringBoot的parent3.导入SpringBoot的Web的支持

m0_52410507的博客 5557

Spring Boot 管理 MVC

一、Spring MVC 自动配置 Spring Boot 为 Spring MVC 应用提供了自动配置,下面是官方文档中对于自动配置的介绍: 主要包括了视图解析器、用于视图的渲染、转发与重定向,静态资源的处、类型转化器与格式化器、HTTP 消息转换器、静态主页的支持等。 Spring MVC 自动配置是通过 WebMvcAutoConfiguration 类实现的,如果你去看这个类的源...

点滴记录 2975

Spring MVC 详解 (Spring Boot)

Spring MVC 详解 (Spring Boot)

yyhgo_的博客 6743

Spring MVC 与 Spring Boot 的差异到底在哪?

本文深入对比了传统SpringMVC与SpringBoot的核心差异。作者结合开发经验,从配置方式(XML到自动配置)、依赖管理(手动引入到Starter)、部署模式(外置Tomcat到内嵌容器)、外部化配置等方面进行剖析,指出SpringBoot通过自动配置砍掉了80%的模板代码,但同时也可能带来配置冲突等问题。文章强调SpringBoot并非替代SpringMVC,而是其"脚手架",底层仍依赖DispatcherServlet等核心组件。

无 592

SpringBoot Spring MVC

这个注释的意思是,当调用这个方法的时候,会从一个名叫accountCache的缓存中查询,如果没有,则执行实际的方法(即查询数据库),并将执行的结果存入缓存中,否则返回缓存中的对象。作用:@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据,需要注意的是,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

专注基础架构领域 6418

Spring Boot Spring MVC

Spring MVC 是一个基于模型-视图-控制器(MVC)模式的 Web 框架,提供了一整套处理 HTTP 请求的工具,包括控制器(Controller)、视图解析(View Resolver)和模型绑定(Model Binding)。

Flying_Fish_roe的博客 1989

Lmbench测试集 --- 延迟测试工具lat_mem_rd

lmbench测试集简介 以及 lat_mem_rd延迟测试工具: 如何测试、测试结果、源码分析

MonologueYY的博客 1万+

Spring Boot 与 Spring MVC 的区别与联系:从本质到实践

本文深入解析了SpringBoot与SpringMVC的区别与联系。SpringMVC是专注于Web层的MVC框架,处理请求映射、数据绑定等Web开发核心问题;而SpringBoot是简化Spring应用开发的工具,通过自动配置、起步依赖等特性提升开发效率。两者并非替代关系,SpringBoot实际包含了SpringMVC组件。文章对比了二者在项目初始化、配置和部署方面的差异,建议新项目优先使用SpringBoot,但强调理解SpringMVC原理仍是Java开发者的重要基础。正确认识两者的定位能帮助开发者

2401_86509639的博客 2507

FCL碰撞检测库在Windows下的编译与配置(MinGW+CMake)

本文详细介绍了在Windows系统下使用MinGW和CMake编译配置FCL碰撞检测库的完整流程。内容涵盖MinGW-w64、CMake的安装与环境配置,关键依赖库Eigen和libccd的安装,以及FCL源码的编译、安装与实战测试。重点解析了CMake配置命令中的关键参数与常见错误解决方案,旨在帮助开发者高效完成FCL在Windows平台的部署,适用于机器人、游戏物理引擎等需要精确碰撞检测的开发场景。

sunny的博客 480

常见的十大量化投资策略(附源码)

量化投资策略是利用量化的方法,进行金融市场的分析、判断和交易的策略、算法的总称。著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01、海龟交易策略 海龟交易策略是一套非常完整的趋势跟随型的自动化交易策略。这个复杂的策略在入场条件、仓位控制、资金管理、止损止盈等各个环节,都进行了详细的设计,这基本上可以作为复杂交易策略设计和开发的模板。 海龟交易策略源码:https://www.myquant.cn/docs/python_strategyies/110 0.

小壁虎的春天 2万+

Spring Boot 入门

SpringBoot是Spring框架的一个模块,旨在简化Spring应用的初始搭建以及开发过程。它通过提供默认配置和自动配置功能,使得开发者可以快速地创建独立的、生产级别的Spring应用程序,而无需进行繁琐的配置。看到这里,你已经了解了SpringBoot的基本概念、它与SpringMVC、Spring和SpringCloud之间的关系,以及为什么学习SpringBoot是如此重要。

Broken_x的博客 1629

GAN网络(论文阅读):Generative Adversarial Nets

当判别器效果比较好时,D(G(z))值为0,则log(1-D(G(z)))值为0,当判别器效果不好,会输出一个大于0 的数,则log(1-D(G(z)))值就为一个负数,在极端情况下,会得到负无穷大,此时判别失误。在价值函数的第二项中存在问题,在早期G比较弱的时,生成的数据和真实数据相差很大,D就容易训练的比较好,很容易区分,就会导致log(1-D(G(z)))变成0 ,这样很难求梯度来优化G,所以更新G时,将优化函数改为log(D(G(z)))。最终使G赢,即G生成的数据D判别不出来。

m0_54248968的博客 2290

Spring、Spring Boot 和 Spring MVC 简介及快速开始

介绍了spring 三件套的基本关系:Spring core 提供最基础的功能:IOC 与 AOP . spring boot 简化了这些功能的配置,简化了Bean 的创建与依赖注入,Spring Boot 使得激活和使用 Spring MVC 更为便捷,例如自动配置 DispatcherServlet。

m0_74209411的博客 1260

全志D1s RISC-V开发板硬件设计与Linux启动全流程解析

RISC-V架构是当前国产嵌入式处理器演进的核心方向,其启动流程涵盖从BootROM、SPL到U-Boot及Linux内核的多级引导机制。理解该流程需掌握DDR初始化、设备树适配、电源时序控制等底层原理,技术价值在于构建可追溯、可调试、可量产的最小可行系统(MVS)。典型应用场景包括边缘AI推理终端、工业HMI和轻量级网关等对成本与开源性敏感的领域。本文以全志D1s平台为载体,深入剖析基于玄铁C906内核的RISC-V SoC在真实硬件上的启动验证、电源完整性设计与Linux全链路开源实践。

weixin_32306683的博客 356

【隐私计算】从本地加法到在线乘法:Beaver Triple如何重塑算术秘密分享的运算效率

本文深入探讨了Beaver Triple在算术秘密分享中的关键作用,显著提升了隐私计算中的乘法运算效率。通过对比加法与乘法的实现差异,详细解析了Beaver Triple的预处理机制和在线计算优化,展示了其在减少通信量和计算时间方面的革命性突破。

weixin_29227585的博客 435

Spring Boot管理Spring MVC

在Spring Boot应用中使用Spring MVC时,如果希望在为Spring MVC自动配置提供相关特性的同时,再增加一些自定义的Spring MVC配置,例如添加拦截器、视图控制器等,可以通过自定义WebMvcConfigurer类型的配置类来实现。

daqi1983的博客 1645

【第1章>第9节】基于FPGA的图像开运算处理算法的Verilog实现

本文介绍了基于FPGA的开运算图像处理实现方法。主要内容包括:1)输入图像二值化处理,通过阈值将灰度图像转换为二值图像;2)数据缓存与窗口提取,使用寄存器数组缓存5行图像数据并构建5×5处理窗口;3)腐蚀运算逻辑,判断窗口内是否全为白色像素;4)膨胀运算逻辑,检测窗口内是否存在白色像素。最后给出了Verilog实现方案,通过级联腐蚀和膨胀模块完成开运算处理。该方法可用于FPGA图像处理算法开发。

MATLAB,verilog,python,opencv,tensorflow,caffe,C,C++ 313

Spring、Spring MVC与Spring Boot框架深度解析

通过以下对比分析和案例实践,可以清晰理解三个框架的定位差异和技术演进路线:Spring提供基础能力,Spring MVC解决Web层问题,而Spring Boot通过约定和自动配置大幅提升开发效率。

weixin_46261399的博客 1459

SAP VC 可配置物料超级BOM简介

在有些业务中比如:汽车、笔记本、电脑、电梯等产品中,其中组成产品的型号个框架是确认的 ,但是框架内部的BOM是可变的,在客户下销售订单的时候,选取对应的组件 ,让后通过MRP的计算优生产线对这样的销售订单提供生产。这个时候我们需要选择我们需要的内存和硬盘的型号,还记得我们前面创建的特征值对应的吗,A对应的8G、B对应16G、X对应1T硬盘、Y对应2T硬盘,这里我们填写对应的值,我们这里选择16G的内存和2T的硬盘,B和Y。3、当我们选择了可配置物料的生产模式时,基本上就选择了按单生产的生产模式了。

我小时候很黑的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目
下一篇: Spring Boot / Spring MVC 入门实践 (三) : 入门项目介绍与用户注册登录的实现
import_java_any
博客等级 码龄10年 15粉丝 14原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值