JavaBean是Java语言描述的软件组件模型(类似Microsoft 的COM组件概念)
定义JavaBean:
- JavaBean是public 类,访问权限为public。
- JavaBean必须包含无参构造器。
- 含有getter,setter 方法。
相信有些刚接触这个概念时会和POJO概念混淆,一下是网上摘抄的:
什么是POJO?
例如一个POJO不应该是
扩展预定的类,如 public class Foo extends javax.servlet.http.HttpServlet { …
实现预定的接口,如 public class Bar implements javax.ejb.EntityBean { …
包含预定的标注,如 :
@javax.ejb.Entity
public class Baz{ …
然后,因为技术上的困难及其他原因,许多兼容POJO风格的软件产品或框架事实上仍然要求使用预定的标注,譬如用于更方便的持久化。
JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
这个类必须有一个公共的缺省构造函数。
这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
这个类应是可序列化的。
因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。
简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。