POJO、PO、VO、DAO、BO、JavaBean都是什么东东????

时间:2021-11-05 17:36:56
现在在学习Spring相关的技术,在此之前先向大家介绍下POJO、PO、VO、DAO、BO、JavaBean是什么东东,否则学习时一直会迷迷糊糊、懵懵懂懂 POJO、PO、VO、DAO、BO、JavaBean都是什么东东????

POJO(Plain Old Java Objects、pure old java object 或者 plain ordinary java object): 从字面上翻译为“纯洁老式的Java对象”,但大家都使用“简单java对象”来称呼它。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

PO(persistant object)指持久对象,可以看成是与数据库中的表相映射的java对象。PO中应该不包含任何对数据库的操作。


VO(Value Object、View Object)指值对象或者View对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。

持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。比如说POJO是由new创建,由GC回收。但是持久对象是insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。另外持久对象往往只能存在一个数据库Connection之中,Connnection关闭以后,持久对象就不存在了,而POJO只要不被GC回收,总是存在的。


DAO(data access object):数据访问对象,此对象用于访问数据库,通常和PO结合使用。DAO中包含了各种数据库的操作方法,通过它的方法,结合PO对数据库进行相关的操作。


BO(business object):业务对象,封装业务逻辑的java对象,通过调用DAO方法,结合PO、VO进行业务操作。


JavaBean :是一种JAVA语言写成的可重用组件,实现了某个功能且供重复使用的Java类。

它的方法命名,构造及行为必须符合特定的约定:

  1. 这个类必须有一个公共的缺省构造函数。
  2. 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
  3. 这个类应是可序列化的。 

EJB  (Enterprise JavaBean): 是sun的JavaEE 服务器 端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括 网络 服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。


总结:

1、pojo的格式是用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。

而javabean虽然数据的获取与pojo一样,但是javabean当中可以有其它的方法。

2、

POJO、PO、VO、DAO、BO、JavaBean都是什么东东????

3、VO是用new关键字创建,有GC回收的;PO是向数据库中添加新数据时创建,删除数据库中数据时削除的,并且只能存活在一个数据库连接中,断开连接即被销毁。
4、VO是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方;PO是有状态的,每个属性代表其当前的状态,它是物理数据的对象表示,使用它可以使我们的程序与物理数据解耦,并且可以简化对象数据与物理数据之间的转换。
5、VO的属性是根据当前业务的不同而不同的,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称;PO的属性是根据数据库表的字段一一对应的。PO对象需要实现序列化接口。
6、
  POJO、PO、VO、DAO、BO、JavaBean都是什么东东????




想了解更多相关的知识,请参考以下资料