JavaBean

  要想成为JavaBean,需要满足以下条件:

  1,提供一个默认的无参构造函数。

  2,需要被序列化并且实现了Serializable接口。

  3,可能有一系列可读写属性伴随"getter"或"setter"方法。

POJO

  POJO(Plain Ordinary Java Object)简单的Java对象,而不是一个特殊的对象。

  1,非扩展预定的类,如       public class Foo extends javax.servlet.http.HttpServlet { ...

  2,非实现预定的接口,如   public class Bar implements javax.ejb.EntityBean { ...

  3,非包含预定的标注,如   @javax.ejb.Entity public class Baz{ ...

JavaBean与POJO联系

  简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。

其它O

  DO(Domain Object)领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。

  DTO(Data Transfer Object)数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。

  VO(View Object)视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

  VO(Value Object)值对象,通常用于业务层之间的数据传递。

  PO(Persistent Object)持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

  BO(Business Object)业务对象,BO把业务逻辑封转为一个对象,通过调用DAO方法,结合PO或VO进行业务操作。

领域模型命名规约

  1,数据对象:xxxDO,xxx即为数据表名。

  2,数据传输对象:xxxDTO,xxx为业务领域相关的名称。

  3,展示对象:xxxVO,xxx一般为网页名称。

  4,POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

POJO/VO/DTO等对象模型的更多相关文章

  1. JavaBean,POJO,VO,DTO的区别和联系

    JavaBeans A JavaBean is a class that follows the JavaBeans conventions as defined by Sun. Wikipedia ...

  2. JAVA vo pojo javabean dto区别

    JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性 ...

  3. PO BO VO DTO POJO DAO 概念及其作用

    PO BO VO DTO POJO DAO 概念及其作用(附转换图) 博客分类: java javadaovopojobo        J2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业 ...

  4. JAVA vo pojo javabean dto的区别

    JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性 ...

  5. java术语(PO/POJO/VO/BO/QO/DAO/DTO)

    一.概念理解 ​ 这些概念用于描述对象的类型:由于java是面向对象的语言:程序的世界就是各个对象之间的"交互":在交互的工程中会存在多个层次,每个层次中所拥有(关注)的内容都是不 ...

  6. 沉淀再出发:Bean,JavaBean,POJO,VO,PO,EJB等名词的异同

    沉淀再出发:Bean,JavaBean,POJO,VO,PO,EJB等名词的异同 一.前言 想必大家都有这样的困惑,接触的东西越多却越来越混乱了,这个时候就要进行对比和深入的探讨了,抓住每一个概念背后 ...

  7. SpringBoot中VO,DTO,DO,PO的概念、区别和用处

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zhuguang10/article/de ...

  8. VO(DTO)模式在架构设计中是否需要

    DTO(VO):也就是一般意义上的VO,封装后的对象.一般用于Web层—Service层间的数据传输入. PO:也就是一般概念上的Domain Object,如hibernate 中的Entity.一 ...

  9. java的几种对象(PO,VO,DAO,BO,POJO,DTO)解释

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

随机推荐

  1. SHU 413 - 添加好友

    题目链接:http://acmoj.shu.edu.cn/problem/413/ 不难发现,这题是求C(n,1)+C(n,2)+C(n,3)+……+C(n,n-1)+C(n,n) 根据二项展开式有( ...

  2. 使用VS Code编译运行C/C++程序

    使用VS Code编译运行C/C++程序 - qq_435248055的博客 - CSDN博客 https://blog.csdn.net/qq_31823267/article/details/78 ...

  3. Python日期格式化知识

    Python中日期格式化是非常常见的操作,Python 中能用很多方式处理日期和时间,转换日期格式是一个常见的功能.Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时 ...

  4. 利用apt-get 进行jdk安装

    搜索相关安装包: apt-get update apt-cache search jdk 安装: apt-get install openjdk-8-jdk

  5. 优云软件助阵ArchSummit全球架构师峰会

    由极客邦科技与 InfoQ 中国主办的 ArchSummit 全球架构师峰会深圳站,于 7 月 7 日 - 8 日在深圳华侨城洲际酒店举办. 本次大会特邀 100 多位国内外技术专家,与1000余名技 ...

  6. OC导航栏跳转指定界面

    方法一: [self.navigationController popToViewController:[self.navigationController.viewControllers objec ...

  7. 【深入理解javascript】this的用法

    引用:this的用法 在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了 情况1:构造函数 函数作为构造函数用,那么其中的this就代表它即将new出来的对象.另外 ...

  8. 008-ant design roadhogrc 打包

    一.概述 1.1.官方地址以及说明 由于 Ant Design Pro 底层使用的 roadhog 工具,已经将复杂的流程封装完毕,对于大部分场景,构建打包文件只需要一个命令 roadhog buil ...

  9. 一行代码彻底禁用WordPress缩略图自动裁剪功能

    记得在博客分享七牛缩略图教程的时候,提到过 WordPress 默认会将上传的图片裁剪成多个,不但占用磁盘空间,也会拖慢网站性能,相当闹心! 当时也提到了解决办法: ①.关闭主题自带缩略图裁剪功能(若 ...

  10. uboot中fdt命令的使用

    转载:https://blog.csdn.net/voice_shen/article/details/7441894 依linux community的要求,从linux-3.5后,新提交的code ...