1、POJO(Plain Old Java Object)

“Plain Old Java Object”的意思是“纯朴旧式的java对象”,现在大家也称它作“简单的java对象”。何为纯朴旧式?在该对象中只有private属性的参数以及根据每个参数定义的get和set方法,没有其它的方法、没有类的继承、接口的实现等,更没有被其它框架侵入的java对象。

public class Student {  private String name;  private int age;  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public int getAge() {  return age;  }  public void setAge(int age) {  this.age = age;  }  } 

2、JavaBean

JavaBean是符合一定规范而编写的Java类,通常意义上开发者会把JavaBean看成是遵循特定约定的POJO+其它方法。显而易见的,POJO作为纯朴旧式的对象只能作为数据载体,而JavaBean具有业务逻辑处理能力。

通常的约定包括:

  • 所有参数的属性为private;
  • //类中包含一个公共的无参沟通器;
  • 类实现serializable接口,可序列化……
public class StudentWork implements java.io.Serializable{  //实现serializable接口。  private static final long serialVersionUID = 1L;  private String name;  private int age;  //无参构造器  public StudentWork() {  }  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public int getAge() {  return age;  }  public void setAge(int age) {  this.age = age;  }  //javabean当中可以有其它的方法  public void studentWork(){  System.out.println("studentWork");  }
}

3、DAO(data access object)

说到这里,就不得不简单地提一下DAO——数据访问对象,以及与其相关联的PO、DTO、VO、BO等。我们通常说的DAO层就是由这些DAO组成的。DAO一般都有接口和该接口的实现类,接口用于规范实现类,同时与底层数据库技术解耦。实现类一般用于数据库的增删查改CURD操作。

PO(persistent object)持久化对象、DTO(data transfer objoct)数据交换对象、VO(view object)显示对象、BO(business object)业务对象等,我们通常将POJO持久化为PO,然后用PO组装不同的DTO和VO,用于数据的交换和展示。如我们的学生表有30个字段,那么通过ORM出来的Entity对象就会有30个属性,而我们的页面只需要显示10个关键的值。这个时候为了防止暴露底层的表结构,我们通过10个属性的DTO来传递值,到达界面再转化成VO展示。另外一种情况是,对于业务场景来说,这10个关键值有可能来自几张不同的表,比如成绩表、班级表等等,这时候我们BO则会将这些表的PO拼装起来成为业务场景下的一个完整对象。

4、EJB(Enterprise JavaBean)

EJB又称企业级JavaBean,顾名思义,对比起普通的JavaBean和POJO,EJB可以说是在业务或者应用系统下的一项功能,这项功能是JavaBean的集合。换句话说,满足某项业务功能的JavaBean搭配。

(PS:这里所说的EJB是指与POJO和JavaBean对比的一个对象概念,实际上EJB所包含的内容十分广泛,将另开文章讨论。)

POJO、JavaBean和EJB的区别相关推荐

  1. JavaBean 与 EJB 的区别

    JavaBean在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的  setter.getter方法,如果一个JavaBean需要在不同的JVM的进程中进行传 ...

  2. POJO、JavaBean、EJB的区别

    POJO 全称是 Plain Old Java Object,翻译为"纯洁老式的java对象",一般都使用"简单java对象"来称呼.为什么这么说呢?原因是PO ...

  3. javabean和EJB的区别

    Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean.但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以 ...

  4. POJO JAVABEAN EJB的区别和联系

    POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通 ...

  5. JavaBean,POJO,EJB的区别

    JavaBean是标准的Java类,包括了属性,方法,事件,作用域是公共的目的是为了让所有的类都可以使用,有默认的无参构造,有默认的无参构造是为了通过框架的反射进行实例化,需要序列化实现Seriali ...

  6. javaBean,pojo与EJB的区别

    文章引自B站up,心静思远-9527 JavaBean 是一个标准的Java类,它包括属性.方法.事件, 它的作用域是公共的,目的是为了让所有类都可以使用: 有默认的无参构造,目的是为了可以通过框架反 ...

  7. javaBean和Servlet的区别

    可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean  />调用JavaBean.而其他类,可以和一般java中一样使用.  Bea ...

  8. DTO,VO,POJO,JavaBeans之间的区别?

    看过类似的问题: JavaBean和POJO有什么区别? POJO(普通的旧Java对象)和DTO(数据传输对象)之间有什么区别? 您还可以告诉我使用它们的上下文吗? 还是他们的目的? #1楼 Jav ...

  9. 简单留言管理平台实现中 包含的 MVC,另:javabean和servlet的区别

    首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念. 引用mz3226960提出的MVC的概念,即M-model-模型:JavaBean:V-view-表现:JSP页面 ...

最新文章

  1. ASP.NET数据绑定技术
  2. 【Linux 内核】Linux 内核体系架构 ( 硬件层面 | 内核空间 | 用户空间 | 内核态与用户态切换 | 系统调用 | 体系结构抽象层 )
  3. GridView的Command命令集合
  4. 十六进制字符转二进制字符
  5. PHP面向对象的进阶学习
  6. WeChat小程序授权机制踩坑请求头中设置cookie保持session
  7. Python 国产库推荐之 musicpy
  8. 《炉石传说》架构设计赏析(1):游戏启动流程
  9. 转 sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
  10. 使用alarm API实现灵活的延时操作
  11. 【原】Python基础-__init__
  12. c++ opengl 分形树_推荐一些适合新手练手的C/C++项目,小白练手最适合!
  13. ecshop删除购物流程中的配送方式和支付方式
  14. EnvironmentPlugin 一款用来配置可动态切换App环境的Gradle插件
  15. 固定资产管理系统如何解决企业固定资产管理混乱的问题?
  16. 科技论文写作课程笔记
  17. 西门子实数转整数_西门子PLC字整数与双字整数之间的转换、双整数与实数之间的转换...
  18. 2019年8月7日暑假训练
  19. codeforces #1 题解
  20. 2n 用c语言编程程序,用C语言编写程序.ppt

热门文章

  1. Pr 电影开场帷幕拉开效果和轨道遮罩的应用
  2. fme转换shp面文件到cad自定义填充图案
  3. 最小二乘法、加权最小二乘法——直线拟合
  4. [DirectShow] DirectShow的窗口
  5. Worker节点加入K8S集群报错:error execution phase preflight: couldn‘t validate the identity of the API Server
  6. j3455linux网卡不亮,J3455 ProxmoxVE v6.0-4 直通物理网卡教程
  7. SimpleDateFormat类的使用
  8. VSS 2005 使用详解
  9. 向《数据科学实战》作者Cathy O'Neil提问!
  10. Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)