POJO("Plain Old Java Object")
用于表示简单的java对象,通常包含有构造函数、属性及其对应的get和set方法以及一些普通的Java方法,POJO不包含任何的业务逻辑和持久逻辑,不担任任何特殊的角色,不继承任何类也不实现任何Java接口,这也是POJO的特点,简单、可读性强和独立性,正因为它有此特性,也使得它不受任何特定Java框架的限制,在各种环境中使用,可以在不同的应用程序和层之间自由传递。POJO类可以用于表示数据传输对象(DTO)、持久化对象(PO)、视图对象 (VO)等
PO(Persistent Object)
持久对象,是一种OR映射关系,可以看成是与数据库中的表相映射的Java对象,也就是ORM框架中的entity实体类对象,PO类的每个属性基本上都对应数据库表里面的一个字段。
VO(View Object)
视图对象,作用于页面展示层,主要对应的是指定页面层所展现的数据所封装的对象,作用是业务逻辑层与页面展示层进行传输交换数据。
DTO(Data Transfer Object)
DTO(Data Transfer Object)数据传输对象,通常在页面展示层和业务层之间传递数据,DTO是PO通过一些业务逻辑处理后封装的对象,可能增加或减少PO的属性,属性的增加或减少是由数据传输对象与数据交互对象之间的差异决定的,简单的说就是接口之间传递数据封装,这样带来的好处就是一是方便数据交互,提高数据传输的速度,提高效率,二是能隐藏后端表结构。