现在的位置: 首页 > 综合 > 正文

Javabean,POJO,PO,VO,DTO

2018年05月21日 ⁄ 综合 ⁄ 共 2095字 ⁄ 字号 评论关闭

javabean:
    在Java程序或JSP程序中,其实有很多的代码段是可以重复使用的,比如对数据库的操作、用户的有效性检查及某些项特定功能的实现等。为了很好的解决这个问题,提高开发效率,Sun公司推出了JavaBean,简言之,JavaBean这是一个实现了某个功能且供重复使用的Java类。

    在JSP中使用JavaBean后,可实现HTML与Java代码的分离,使JSP更易于开发和维护。因此JavaBean成了JSP程序员的必备利器之一。

     虽然JavaBean是Java类,同时它也具有自己的一些特征:

      1、 JavaBean是一个public的类

      2、 JavaBean有一个不带参数的构造方法

      3、 JavaBean中的属性通过getXXX()和setXXX()进行操作

按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于

javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:
  1. 可以实现代码的重复利用
  2. 易编写、易维护、易使用
  3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。

比如我们编写一个计算圆面积的java类CircleArea.java  以后需要计算圆面积的地方直接调用就行了。
-----------------
来自百度对POJO的解释:

  简单的Java对象(Plain Ordinary Java Objects)实际就是普通JavaBean,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

其它的解释:
POJO -Plain Old Java Objects ,即"普通的老旧的Java对象".

  该名称的创立者之一Matin Flower是这样解释的: "对于人们经常忘记常规的Java对象,我的总结是它们没有一个好名字 - 因此在准备一次演讲时,Rebecca Parsons, Josh Mackenzie 和我给起了名字: POJO。"

  POJO是不包含业务逻辑的透明组件,就像其命名那样,它的确简单,只用作单纯的DTO(Data Transport Object 数据传输对象)或是VO(Value Object 值对象).它通常的构成形式为一个包含私有变量作为属性以及访问其属性的getter和setter方法的类,根据需要可以为其添加constructor.对于初识POJO的人来说,它很像JavaBean,但按照其应与其他组件易组合的设计目的,它不应包含业务逻辑的处理,这也是与JavaBean不同的地方。

PO -Persistent Object ,即"持久化对象".

PO是位于EIMS层数据库中的实体,生命周期和数据库密切相关.在向数据库插入记录时创建该实体,删除或关闭数据库时该实体随之消亡.很多优秀的开源框架都实现了将数据库中的PO通过ORM用POJO来实际操作,如Hibernate,JDO等。

最后我们总结一下:

1.VO/DTO 就是Value Object和Data Transform object就是作为数据使用的对象

2.POJO,是Plain Ordinary(Old)Java Object的缩写,是不包含业务逻辑的JavaBean,通常情况下可以作为VO/DTO来使用

3.PO,是Persistence Object的缩写,来自各种各个JPA ORM(Java Persistent API Object Relational Mapping)提供商比如Hibernate toplink等厂商,是跟数据库交互的时候存在的中间对象,而且可以有各种逻辑操作。
pojo与实体bean:
pojo 应用于页面数据的操作,是来保存数据的。(你也可以不这样做,但是这已经成了一种规范。)

实体bean与数据库表关联,是对数据表的操作。

其它:

POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子 扳、锤、撬等等),而这个扳子就是一个组件。

先解释上面的意思:

pojo的格式是用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。
而javabean虽然数据的获取与pojo一样,但是javabean当中可以有其它的方法。

 

抱歉!评论已关闭.