1.1 PO
它的含义是Persistent Object,即持久化对象。
DAO
它的含义是Data Access Object
BO
它的含义是Business Object,即业务对象。
- 职责:封装核心业务逻辑,聚合多个PO完成复杂操作
DTO
它的含义是Data Transfer Object,即数据传输对象。
- 职责:跨层/跨服务数据传输,屏蔽敏感字段
- 特征:
- 属性集是PO的子集(如排除
password字段) - 支持序列化(实现
Serializable) - 代码示例:用户信息DTO
VO
它的含义是View Object,即视图对象。
- 职责:适配前端展示,包含渲染逻辑
- 特征:
- 属性可包含格式化数据(如日期转
yyyy-MM-dd) - 聚合多表数据(如订单VO包含用户名字)
POJO
它的含义是Plain Old Java Object,即普通Java对象。
- 职责:基础数据容器,可扮演PO/DTO/VO角色
- 特征:
- 只有属性+getter/setter
- 无框架依赖(如不继承Spring类)
- 典型实现:Lombok简化代码
传统三层架构(DAO → DTO → VO)
PO - DTO - VO