超详细讲解SpringMVC三层架构

超详细讲解SpringMVC三层架构SpringMVC三层架构javaSpringMVC的工程结构一般来说分为三层,自下而上是Modle层(模型,数据访问层)、Cotroller层(控制,逻辑控制层)、View层(视图,页面显示层),其中Modle层分为两层:dao层、service层,MVC架构分层的主要作用是解耦。采用分层架构的好处,普遍接受的是系统分层有利于系统的维护,系统的扩展。就是增强系统的可维护性和可扩展性。对于Spring这样的框架,(View\Web)表示层调用控制层(Controller),控制层调用业务层(Servi

大家好,又见面了,我是你们的朋友全栈君。

SpringMVC三层架构

java SpringMVC的工程结构一般来说分为三层,自下而上是Modle层(模型,数据访问层)、Cotroller层(控制,逻辑控制层)、View层(视图,页面显示层),其中Modle层分为两层:dao层、service层,MVC架构分层的主要作用是解耦。采用分层架构的好处,普遍接受的是系统分层有利于系统的维护,系统的扩展。就是增强系统的可维护性和可扩展性。

对于Spring这样的框架,(View\Web)表示层调用控制层(Controller),控制层调用业务层(Service),业务层调用数据访问层(Dao)。
在这里插入图片描述
service层:业务层,用来实现业务逻辑。能调用dao层或者service层,返回数据对象DO或者业务对象BO,BO通常由DO转化、整合而来,可以包含多个DO的属性,也可以是只包含一个DO的部分属性。通常为了简便,如果无需转化,service也可以直接返回DO。外部调用(HTTP、RPC)方法也在这一层,对于外部调用来说,service一般会将外部调用返回的DTO转化为BO。是专注业务逻辑,对于其中需要的数据库操作,都通过Dao去实现。主要去负责一些业务处理,比如取得连接、关闭数据库连接、事务回滚,一些复杂的逻辑业务处理就放到service层。

DAO层:负责访问数据库进行数据的操作,取得结果集,之后将结果集中的数据取出封装到VO类对象之后返回给service层。数据层,直接进行数据库的读写操作,返回数据对象DO,DO与数据库表一一对应。Dao的作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求。

Cotroller层:叫做控制层,主要的功能是处理用户发送的请求。主要处理外部请求。调用service层,将service层返回的BO/DO转化为DTO/VO并封装成统一返回对象返回给调用方。如果返回数据用于前端模版渲染则返回VO,否则一般返回DTO。不论是DTO还是VO,一般都会对BO/DO中的数据进行一些转化和整合。

View层:叫做显示层,主要是负责现实数据。

在实际开发中dao层要先定义出自己的操作标准即标准接口,就是为了解耦合。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153083.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 上午6:46
下一篇 2022年6月25日 上午6:46


相关推荐

  • 卸载 PyCharm

    卸载 PyCharm卸载 PyCharm

    2026年3月19日
    3
  • ThinkPHP5.0 实现 app支付宝支付功能

    ThinkPHP5.0 实现 app支付宝支付功能

    2021年10月25日
    60
  • 资源链接整合(不保证一直存在,持续更新)

    资源链接整合(不保证一直存在,持续更新)以下是我在学习java时遇到的学习资源,供大家使用,如有侵权,请联系我,立即删除。联系方式872454169@qq.com。1.maven下载,安装,测验http://jingyan.baidu.com/article/20095761bd195ecb0621b465.html2.Myeciplse创建maven项目(可以先看下maven百度百科)http://jingyan.ba

    2022年5月11日
    66
  • 蓝牙HID协议介绍

    蓝牙HID协议介绍1 概述 nbsp nbsp nbsp nbsp TheHumanInte HID 定义了蓝牙在人机接口设备中的协议 特征和使用规程 典型的应用包括蓝牙鼠标 蓝牙键盘 蓝牙游戏手柄等 该协议改编自 USBHIDProtoc nbsp nbsp nbsp nbsp 2 一些概念 1 HIDReports BluetoothHID 支持三种 Report Input Output

    2026年3月16日
    2
  • matlab-K折交叉验证与分层K折交叉验证

    matlab-K折交叉验证与分层K折交叉验证文章目录 K 折交叉验证有什么用 如何实现 K 折交叉验证 K 折交叉验证的要点 文字版 如何实现 K 折交叉验证 图片版 如何实现 K 折交叉验证 matlab 版 为啥我们需要分层 K 折交叉验证 如何实现分层 k 折交叉验证如何实现分层 k 折交叉验证 文字版 如何实现分层 k 折交叉验证 图片版 如何实现分层 K 折交叉验证 matlab 版 很多论文都会用到 K 折交叉验证 但是以前一直没有做这个操作 所以最近整理了一下关于这个方面的资料 其实就是把看到的文字资料整理一下 有些文字自己进行了突出和调整 感谢所有博主 分层 K 折交叉验证是 K

    2026年3月19日
    2
  • mysql查看数据库的日志文件_怎么查看mysql数据库的日志文件「建议收藏」

    mysql查看数据库的日志文件_怎么查看mysql数据库的日志文件「建议收藏」2017-10-16回答一.错误日志错误日志在mysql数据库中很重要,它记录着mysqld启动和停止,以及服务器在运行过程中发生的任何错误的相关信息。1.配置信息–log-error=[file-name]用来指定错误日志存放的位置。如果没有指定[file-name],默认hostname.err做为文件名,默认存放在datadir目录中。也可以将log-error配置到my.cnf文件中,…

    2022年10月14日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号