1.POJO 是 DO/DTO/BO/VO/AO 的统称

  • DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。
  • DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
  • BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。
  • AO( Application Object):应用对象。 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
  • VO( View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
  • POJO( Plain Ordinary Java Object):在本手册中, POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
  • Query:数据查询对象,各层接收上层的查询请求。 注意超过2个参数的查询封装,禁止使用Map类来传输。

2.阿里开发手册:

缩写的含义详细:

PO 是 Persistant Object 的缩写,用于表示数据库中的一条记录映射成的 java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

DAO 是 Data Access Object 的缩写,用于表示一个数据访问对象。使用 DAO 访问数据库,包括插入、更新、删除、查询等操作,与 PO 一起使用。DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。

VO 是 Value Object 的缩写,用于表示一个与前端进行交互的 java 对象。有的朋友也许有疑问,这里可不可以使用 PO 传递数据?实际上,这里的 VO 只包含前端需要展示的数据即可,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在 VO 中体现出来。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

DTO 是 Data Transfer Object 的缩写,用于表示一个数据传输对象。DTO 通常用于不同服务或服务不同分层之间的数据传输。DTO 与 VO 概念相似,并且通常情况下字段也基本一致。但 DTO 与 VO 又有一些不同,这个不同主要是设计理念上的,比如 API 服务需要使用的 DTO 就可能与 VO 存在差异。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

BO 是 Business Object 的缩写,用于表示一个业务对象。BO 包括了业务逻辑,常常封装了对 DAO、RPC 等的调用,可以进行 PO 与 VO/DTO 之间的转换。BO 通常位于业务层,要区别于直接对外提供服务的服务层:BO 提供了基本业务单元的基本业务操作,在设计上属于被服务层业务流程调用的对象,一个业务流程可能需要调用多个 BO 来完成。

POJO 是 Plain Ordinary Java Object 的缩写,表示一个简单 java 对象。上面说的 PO、VO、DTO 都是典型的 POJO。而 DAO、BO 一般都不是 POJO,只提供一些调用方法。

应用场景

参考博客: https://blog.csdn.net/csdn2193714269/article/details/105558329

关于POJO 即DO/DTO/BO/VO/AO说明相关推荐

  1. 什么是DO / DTO / BO / VO /AO ?

    POJO 是 DO / DTO / BO / VO 的统称. DO(Data Object) :此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象. DTO(Data Transfer ...

  2. POJO/DO / DTO / BO / VO /AO

    POJO:(Plain Ordinary Java Object)简单的Java对象 DO:(date object)-数据访问层对象 DTO:(data transfer object) 数据传输对 ...

  3. 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义

    分层领域模型规约: DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. DTO( Data Transfer Object):数据传输对象,Service或Ma ...

  4. DO DTO BO AO VO POJO

    分层领域模型规约: DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的 ...

  5. java ao层_Java学习过程中的一些记录 DO、DTO、BO、AO、VO、POJO定义 | 酷客365

    分层领域模型规约: DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. DTO( Data Transfer Object):数据传输对象,Service或Ma ...

  6. DO、DTO、BO、AO、VO、POJO

    介绍 阿里巴巴 Java 开发手册中的定义如下: 「分层领域模型」规约: DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. DTO( Data Transfe ...

  7. 浅谈DO、DTO、BO、AO、VO、POJO

    三层架构 – 业务分层: 持久层(DAO):数据访问层用于访问数据库,实现对数据库中数据的读取保存操作. 服务层(SERVICE):处理用户输入信息,建立新的数据存储方式,在存储过程中对数据进行读取, ...

  8. VO的实际应用;后端接收前端传入的值;实体类转化VO;PO,VO,DTO,BO,DAO,POJO区别

    文章目录 各层转换流程 分层领域模型规约: 领域模型命名规约: 后端向前端传参 封装 前端向后台传参 封装 快速转换解决方案 参考 各层转换流程 分层领域模型规约: DO( Data Object): ...

  9. PO/BO/VO/DTO/POJO/DAO/DO

    文章目录 DO(Domain Object) DO(Data Object) PO VO BO DTO POJO DAO JavaBean EJB Entity 应用程序的分层设计 MVC 业务分层 ...

最新文章

  1. atomic原子类实现机制_JUC学习笔记--Atomic原子类
  2. 微信小程序之后台https域名绑定以及免费的https证书申请
  3. asp.net的cms 核心代码篇
  4. linux 7 zip软件下载,linux安装使用7zip教程
  5. Windows10 UWP开发 - 响应式设计
  6. 蒙克:云计算安全问题被夸大
  7. C/C++小游戏 ——贪吃蛇
  8. golang生成c-shared so供c语言或者golang调用到例子
  9. js文件复制_note
  10. AJAX ControlToolkit学习日志-AnimationExtender控件(3)
  11. 机器学习实战1--预测链家租房价格
  12. java正则替换数字_Java 正则表达式,替换图片名称,替换数字,和谐用语,复制文件...
  13. PHP 数字转换为大写的函数
  14. VMware 虚拟机的使用
  15. EFS加密文件系统应用心得
  16. android audiorecord插上耳机录音由dmic切换到耳机录音
  17. IT路要如何走?——老程序员的10个忠告 .
  18. JavaScript 进阶 - 第2天
  19. #数据结构与算法 第一小题 学生成绩档案管理系统
  20. 兰州拉面进非洲:一群80后的创业历险

热门文章

  1. 51使用LCD1602液晶显示(复习总结)
  2. Workflow Engine for .Net Core ENTERPRISE v4.0.10-SEO-狼术
  3. 丰巢后撤,便宜了菜鸟驿站、京东快递柜?
  4. Verilog学习笔记——04——补码转换器、七段译码器
  5. Studio One 5机架设置一键切换效果通道
  6. 通信对抗干扰技术简单综述与MATLAB仿真
  7. centos用php上传文件,CentOS下Apache的SELinux权限(上传图片后写入指定文件夹)
  8. GOF23之桥接模式
  9. 林业大学计算机专业排名2019,2021年北京林业大学最新排名 全国最新排名
  10. 域控下发脚本_域控下发脚本,安装zabbix客户端