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当中可以有其它的方法。

Javabean,POJO,PO,VO,DTO相关推荐

  1. 关于po、vo、dto的概念

    一:关于po.vo.dto的区别 在项目开发过程中,经常会碰到pojo.po.vo.dto的实体类,现在记录一下po.vo.dto的用法. 其中pojo是po.vo.dto的统称. po.vo.dto ...

  2. 项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?

    点击关注公众号,实用技术文章及时了解 存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵 ...

  3. DO、PO、VO、DTO、BO、POJO概念

    DO.PO.VO.DTO.BO.POJO DO (Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. 一般就是从数据库查询的信息,将这些信息封装成DO类, DAO层将D ...

  4. 软件架构设计杂记: 分层架构 与 PO、VO、DTO、BO、POJO、BO/DO、DAO

    软件架构设计杂记: 分层架构 与 PO.VO.DTO.BO.POJO.BO/DO.DAO 原创: 陈光剑 Kotlin 开发者社区 前天 某位计算机大师说过: 计算机科学领域任何问题,都可以间接的通过 ...

  5. java中的POJO、PO、VO分别是什么?

    1.PO:persistant object 持久对象 可以看成是与数据库中的表相映射的java对象.使用Hibernate来生成PO是不错的选择. 2. VO:value object值对象. 通常 ...

  6. POJO、PO、BO、DTO、VO的含义以及应用场景

    一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  7. Java 中的 PO、VO、DTO、BO、POJO、BO/DO、DAO

    一.简单 Java 对象 1️⃣PO persistent object 持久对象.与数据库里表字段一一对应.PO是一些属性,以及set和get方法组成.一般情况下,一个表对应一个PO,直接与操作数据 ...

  8. PO和VO和DTO的区别

    PO(persistant object) 持久对象,通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象. VO(value object) 值对象, ...

  9. VO,PO,BO,QO, DAO ,POJO,的概念

    原文链接:http://www.blogjava.net/luofeng225/archive/2009/03/28/262620.html 原文作者令我非常感动的一个故事: <我曾经听到这么一 ...

  10. java中各种O的含义(PO,VO,TO,QO,BO,DAO,DTO,POJO)

    O/RM 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在 O/R Mapping 的世界里,有两个基本的也 ...

最新文章

  1. PyTorch中的Element-wise operations
  2. FTP-工作原理及Vsftpd基础配置
  3. unicone 字体 规范
  4. Pytorch中的variable, tensor与numpy相互转化的方法
  5. 近似装箱问题(两种脱机算法实现)
  6. 就业阶段-java语言进价_day04
  7. 泊松分布的分布函数_《可靠性设计》——常用的概率分布
  8. 红帽linux6.8镜像下载,redhat8镜像下载
  9. 用于重尾PLDA的快变分贝叶斯应用于i-vector和x-vector
  10. 声明圆锥体类,实现Area和Volume接口,计算表面积和体积,按体积比较大小。
  11. 揭密微信跳一跳小游戏那些外挂
  12. 01-java设计模式知识点-上篇
  13. 前端文件下载兼容方案(兼容主流浏览器,包括IE与Safari)
  14. 微软服务器无法删除不了,[图]Edge无法卸载 引发诸多用户强烈不满
  15. 据说币圈炒币亏钱的人,大多都是因为这6个原因!
  16. 抖音电商主播运营带货话术脚本策划方案流程计划表格
  17. audio_policy.conf文件:AUDIO_DEVICE_IN_REMOTE_SUBMIX含义
  18. 什么是DCS系统?DCS和SCADA的区别
  19. 爬虫写得好,牢饭吃得早
  20. 【JAVA】延迟队列DelayQueue的应用

热门文章

  1. 单片机1602音乐播放器
  2. leetcode阶段总结——拓扑排序
  3. 不同大小硬盘对拷oracle,大小不一样的硬盘怎么实现对拷?
  4. 知星社:学会了什么?
  5. MySQL数据库05 数据库控制和设计
  6. 用UltraISO制作CentOS U盘安装盘
  7. 微软发布支持Linux的SQL Server
  8. 书评:薛定谔猫与生物学鸽子:《生命是什么?》出版75周年记
  9. STM32中VU和U的区别
  10. root创建用户以及Xshell连接命令