JAVA 对象规范 POJO

本文详细介绍了JAVA中POJO(Plain Ordinary Java Object)、PO(Persistent Object)、VO(Value Object)、BO(Business Object)、DTO(Data Transfer Object)和DO(Domain Object)的概念及它们之间的区别。POJO是无规则简单Java对象,可转化为PO、DTO、VO;PO是带有持久化方法的POJO,对应数据库中的一条记录;VO用于表现层,对应UI数据对象;BO封装业务逻辑;DTO用于跨进程或远程传输,不包含业务逻辑;DO是对现实世界业务实体的抽象,与数据库表结构相对应。此外,还探讨了DTO与VO、DO与PO的区别。
摘要由CSDN通过智能技术生成

POJO:Plain Ordinary Java Object 无规则简单java对象

一个中间对象,可以转化为PO、DTO、VO。

  1. POJO持久化之后==〉PO
  2. POJO传输过程中==〉DTO
  3. POJO用作表示层==〉VO

一般只有属性字段,无参构造以及get和set方法,也是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
因此它特别灵活可扩展,可以实现让一个模型贯穿多个层,简单来说可以理解成不包含业务逻辑的单纯用来存储数据的 java类
PO 和VO都应该属于它。

PO:Persistent Object 持久对象

为POJO增加了持久化的方法(Insert、Update、Delete……)之后,POJO就变成了PO。

  1. 有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。
  2. 在持久化框架中与 Insert / Delete / Update 操作密切相关。
  3. PO中不应该包含任何对数据库的操作。

在 O/R 映射的时候出现的概念,如果没有 O/R 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。

VO:Value Object值对象 / View Object表现层对象

为POJO增加了数据绑定功能之后,POJO就变成了View Object,即UI Model。

  1. 主要对应页面显示(web页面/swt、swing界面)的数据对象。
  2. 可以和表对应,也可以不,这根据业务的需要。

视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
例如:在struts中,用ActionForm做VO,需要做一个转换,因为PO是面向对象的,而ActionForm是和view对应的,要将几个PO要显示的属性合成一个ActionForm,可以使用BeanUtils的copy方法。

BO:Business Object 业务对象

封装业务逻辑为一个对象(可以包括多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值