Bean,Java Bean和Enterprise Java Bean之间的区别

时间:2015-06-30 18:44:42

标签: java ejb javabeans

我已经阅读过有关EJB,Java Bean的内容,但是我仍然怀疑什么术语" bean"本身意味着什么?

A)简单的术语" bean"存在于自身?

B)现在来到Java Beans。正如我所读到的,它只是一个普通的POJO遵循一些命名约定,并有吸气剂和二传手?但是我很难理解这个约定如何使它们成为可重复使用的组件",正如我在许多帖子中读到的那样,包括SO。

有一些类似于此的SO帖子,但它的不同之处在于:我在问计划术语" bean"存在;以及java bean如何成为可重用的组件。

有人可以用简单的语言澄清这一点。

1 个答案:

答案 0 :(得分:3)

简单的术语" bean"经常用作JavaBean或Enterprise Java Bean的快捷方式(取决于上下文)。因此,该术语存在于程序员的通用语言中,它通常指的是Java中可重用的对象/组件。

JavaBean是一个POJO类,它具有getter和setter的特定命名约定,不仅如此:它通常是其他对象(属性)的封装,是可序列化的,并且具有零参数构造函数。 Sun(当时)开发了一个关于JavaBean的完整规范。 Sun将其定义为"可重复使用的软件组件,可以在构建器工具中以可视方式进行操作。此外,在JavaBean规范中声明:

  

单个Java Bean的功能会有所不同,但区分Java Bean的典型统一功能包括:

  • 支持“内省”,以便构建器工具可以分析bean的工作方式
  • 支持“自定义”,以便在使用应用程序构建器时,用户可以自定义bean的外观和行为
  • 支持“事件”作为一个简单的沟通隐喻,而不是用来连接豆子
  • 支持“属性”,包括自定义和程序化使用。
  • 支持持久性,以便可以在应用程序中自定义bean 构建器然后将其自定义状态保存并重新加载 后面。

关键部分是可以在视觉上操作,因此需要getter / setter,事件,零参数构造函数(以便它们可以在外部实例化),可序列化。

点击此链接了解详情:http://download.oracle.com/otn-pub/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/beans.101.pdf?AuthParam=1435694253_b87821c280430a0230bf8d22223c79d2