关于MVC设计模式及流程解析

 更新时间:2022年05月07日 11:25:59   作者:爱叨叨的程序狗  
这篇文章主要介绍了关于MVC设计模式及流程解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

MVC设计模式

概述

是一种开发结构合理、能使前后端分离、流程控制逻辑、业务逻辑调用与展示逻辑分离,实现高内聚,低耦合的设计模式。

M:数据实体模型(Model或Entity):

  • 每一个类的成员变量字段对应数据库字段对应(对应的Entity、JavaBean),提供数据的CRUD操作,实现数据库的持久化。

V:视图(View):

  • 视图层:客户端用户能直接看到的页面,主要负责视图的展示。视图层调用控制层(HTML、JSP等文件)。

C:控制 (Controller):

  • 前端视图层的参数提交和页面的响应,都委托给前端处理器处理,在Spring MVC框架下,在Controller作为控制层,Controller响应URL请求并进行处理,根据映射对应关系,调用service层,service层的接口实现类(xxxserviceImpl)调用Dao层完成数据初始化工作。
  • 负责处理模型处理,处理完成后把模型数据返回给视图。(中间调度员Dispatcher)。

SSM框架项目搭建流程

1.数据库准备:创建数据库,构思需求的数据类型

  • 准备实体类,与数据库一一对应
  • (com.it.entity)

2.构建Dao层

  • (com.it.dao)
  • 构建接口:名称叫XXXDao
  • Dao只做单一的逻辑:对数据库CRUD功能接口定义。
  • 并且写get/set/return方法、构造方法(方便输出)。

3.Dao层接口实现

  • 在使用MyBatis时,MyBatis自动实现,可不必写dao层的实现类,可以直接在Mapper.xml文件里写对应的SQL语句来完成对数据库的持久化操作。

业务层:

4. 定义service

  • (com.it.xxxservice)
  • 在xxxService类里定义服务接口,根据需求定义业务功能接口,在每一个接口上方可写注释来明确该接口的功能。
  • 在Service包下建立Impl文件夹,放Service层定义的接口功能实现类。

小结一下:

面向接口编程:当用户在页面(View层)向服务器发送一个请求时,请求由控制层(Controller)处理,Controller负责拦截和调用业务层相关逻辑(service接口对应的impl实现类),业务层调用Dao层对数据库进行操作,从而实现数据的持久化,最终前端处理器Controller返回处理过后的页面显示给用户。

在这里插入图片描述

(图片来自网络)

这是一个刚入行的小白对MVC设计模式的理解,写博客的目的就是能将一些自己的理解记录下来,或许我的博客还能帮助到大家,当然,我也迫切希望经验丰富的前辈们能对我的理解给你们宝贵的建议,谢谢!

MVC模式的各个步骤

M:Model模型,实体类和业务和dao

V:view 视图 JSP

C:Controller 控制器,servlet

作用:视图和逻辑分离

流程是

1. 先写实体类

2. 数据访问控制层

3. 业务逻辑

4. 控制器

5. 视图

如图:

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • Java 数据结构与算法系列精讲之单向链表

    Java 数据结构与算法系列精讲之单向链表

    单向链表特点是链表的链接方向是单向的,访问要通过顺序读取从头部开始。链表是使用指针构造的列表,是由一个个结点组装起来的,又称为结点列表。其中每个结点都有指针成员变量指向列表中的下一个结点,head指针指向第一个结点称为表头,而终止于最后一个指向nuLL的指针
    2022-02-02
  • SpringBoot整合微信登录功能的实现方案

    SpringBoot整合微信登录功能的实现方案

    今天通过本文给大家分享微信登录与SpringBoot整合过程,微信扫描登录实现代码知道扫描后点击登录的全部过程,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • Java红黑树的数据结构与算法解析

    Java红黑树的数据结构与算法解析

    红黑树问题是各大计算机考研命题以及面试算法题目中的热门,接下来我们为大家图解红黑树的数据结构与算法解析,需要的朋友可以参考下
    2021-08-08
  • java 格式化时间的示例代码

    java 格式化时间的示例代码

    这篇文章主要介绍了java 格式化时间的示例代码,帮助大家更好的利用Java处理时间,感兴趣的朋友可以了解下
    2020-12-12
  • Java中优先队列PriorityQueue常用方法示例

    Java中优先队列PriorityQueue常用方法示例

    这篇文章主要介绍了Java中优先队列PriorityQueue常用方法示例,PriorityQueue是一种特殊的队列,满足队列的“队尾进、队头出”条件,但是每次插入或删除元素后,都对队列进行调整,使得队列始终构成最小堆(或最大堆),需要的朋友可以参考下
    2023-09-09
  • java、springboot 接口导出txt方式

    java、springboot 接口导出txt方式

    这篇文章主要介绍了java、springboot 接口导出txt方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java过滤器如何解决存储型xss攻击问题

    Java过滤器如何解决存储型xss攻击问题

    这篇文章主要介绍了Java过滤器如何解决存储型xss攻击问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 详解Spring注解 @Configuration

    详解Spring注解 @Configuration

    @Configuration 是 Spring 中的一个注解,它用于标记一个类为配置类,通过配置类可以定义和组装 Spring Bean,并且支持高度灵活的配置方式。本问详细介绍了Spring注解 @Configuration,感兴趣的小伙伴可以参考一下
    2023-04-04
  • SpringBoot@Aspect 打印访问请求和返回数据方式

    SpringBoot@Aspect 打印访问请求和返回数据方式

    这篇文章主要介绍了SpringBoot@Aspect 打印访问请求和返回数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java线程状态变换过程代码解析

    Java线程状态变换过程代码解析

    这篇文章主要介绍了Java线程状态变换过程代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论