【笔记】PO VO BO DTO POJO DAO JavaBean


PO(Persistant Object 持久对象)/Entity

  • PO就是与数据库结构映射的实体,即PO的属性是跟数据库表的字段一一对应的
  • 在hibernate持久化框架中与insert/delet操作密切相关

VO(Value Object 值对象/ View Object 表现层对象)

  • 主要对应页面显示的数据对象
  • 一般继承PO,可以添加PO中没有的字段,用来逻辑处理以及其他消息的存储

BO(Business Object 业务对象)

  • 封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作

DTO(Data Transfer Object数据传输对象)

  • 主要用于远程调用等需要大量传输对象的地方

比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO 内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。


POJO(Plain Ordinary Java Object 简单无规则java对象)

  • PO VO应该都属于POJO
  • 实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来

DAO(Data Access Object数据访问对象)

  • 主要用来封装对DB的CRUD操作
  • 通过DAO可以把POJO持久化为PO,用PO组装出来VO、DTO

JavaBean

JavaBean是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
1、这个类必须有一个公共的缺省构造函数。
2、这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
3、这个类应是可序列化的。
因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。
简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean

你可能感兴趣的