POJO(Plain Ordinary Java Object)
POJO(Plain Ordinary Java Object)简单的Java对象,最基本的 Java Bean ,只有属性字段及 setter 和 getter 方法。
PO(Persistent Object)
PO(Persistent Object)持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系。PO是在Java应用程序与数据库之间进行数据转换的关键对象。PO类的属性一般与数据库表的列名相对应。
PO是只含有get/set方法的POJO,PO中不应包含任何对数据库的操作。
DTO(Data Transfer Object)
DTO(Data Transfer Object)数据传输对象,它是一种专门用于在系统内部或者系统之间传输数据的Java对象,通常是一些简单的持有数据的Java类,用于Controller和Service交互,它不应该包含业务逻辑。
VO(Value Object)
视图对象,用于表现层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
它是一种用于包装数个数据值的Java对象,也是POJO的一种进阶形式。VO的属性与业务模型中的属性通常有对应关系,但并不必然一一对应,它们之间的主要区别在于,VO更加拥有特定的含义和目的而非单纯描述业务模型的数据属性。VO通常用于对业务领域中的某个实体进行封装,使得客户端只能访问到这个实体提供的有限属性和方法。
VO通常用于前端和服务端Controller交互。