快速理解 POJO,VO,DO,DTO,Entity
Posted 结构化思维wz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速理解 POJO,VO,DO,DTO,Entity相关的知识,希望对你有一定的参考价值。
项目中总是能看到包名叫 POJO,VO,DO,DTO,Entity的一些包,这些包中的对象是什么用处呢 ?本文可以让你快速理解,适合小白!
先来一张图帮助理解:
POJO
全称:Plain Ordinary Java Object
POJO对象的特点:
- 类型中如果存在成员变量,必须提供
get
,set
方法。 - 提供默认无参构造
- 可以实现
Serializable
,也可以不实现。 - 不能实现容器或者框架所规定的接口。
POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
所以这些都属于POJO
:
VO
全称:Value Object
显示层对象,通常是Web向模板渲染引擎层传输的对象。
用于封装后端给前端返回的出参对象。一般命名为xxxVO
。
对应的入参对象可以封装为xxxParam
。
DTO
全称:Data Transfer Object
数据传输对象,Service或Manager向外传输的对象
例如在Service
中需要请求其他的API
,发起HTTP
请求。这时候API需要有入参,我们就可以用DTO
来封装一个对象作为该API 的入参
。
数据传输对象:xxxDTO
,xxx为业务领域相关的名称。
DO
全称:Data Object
用于封装DAO层中的对象,通过DAO层向上传输数据源对象。
数据对象:xxxDO,xxx即为数据表名。
例如有一个需求需要连接两个表查询,这样就没有一个实体可以接受查询结果了,这种情况下封装一个DO就是很好的解决办法。
Entity
全称:Plain Ordinary Java Object
与数据库中表的字段一一对应,用于接受表中数据的对象
xxxEntity
,用于实体类。
以上是关于快速理解 POJO,VO,DO,DTO,Entity的主要内容,如果未能解决你的问题,请参考以下文章
Java中 PO VO BO DTO DAO 和 POJO 的概念及区别(图解)
PO BO VO DTO POJO DAO概念及其作用(附转换图)