POJO与JavaBean

来源:互联网 发布:网站建设搜索优化 编辑:程序博客网 时间:2024/05/22 03:20
POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。很显然POJO也是JavaBean的一种。一般在web应用程序中建立一个数据库的映射对象时,我们只能称它为POJO。

OJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象。

2005年11月时,“POJO”主要用来指代那些没用遵从特定的Java对象模型,约定或框架如EJB的Java对象.
理想地讲,一个POJO是一个不受任何限制的Java对象(除了Java语言规范)。例如一个POJO不应该是
  1. 扩展预定的类,如       public class Foo extends javax.servlet.http.HttpServlet { ...
  2. 实现预定的接口,如   public class Bar implements javax.ejb.EntityBean { ...
  3. 包含预定的标注,如   @javax.ejb.Entity public class Baz{ ...
然后,因为技术上的困难及其他原因,许多兼容POJO风格的软件产品或框架事实上仍然要求使用预定的标注,譬如用于更方便的持久化。
 
JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
  1. 这个类必须有一个公共的缺省构造函数。
  2. 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
  3. 这个类应是可序列化的。 
因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。
 
简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。
http://www.cnblogs.com/zhwl/p/3175306.htmlhttp://blog.csdn.net/uikoo9/article/details/8779698
0 0