您的位置:首页 > 编程语言 > Java开发

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

2017-01-12 14:19 751 查看
版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。

目录(?)[+]

声明

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

本系列文章通过具体的例子,介绍如何通过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。

欢迎关注我的微信公众号来获取各种IT学习视频哦

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息