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,用于实体类。