This question already has answers here:
What is a JavaBean exactly?

(21个回答)


5年前关闭。




我已经阅读了有关EJB,Java Beans的文章,但是我仍然对“bean”本身的含义感到怀疑。

A)普通术语“bean”本身是否存在?

B)现在来Java Beans。如我所读,这只是遵循一些命名约定的普通POJO,并且具有getter和setter方法?但是,正如我在包括SO在内的许多帖子中所读到的那样,我很难理解该约定如何使它们成为“可重用组件”。

有一些与此类似的SO职位,但是不同之处在于:我要问计划术语“bean”是否存在;以及Java Bean如何成为可重用的组件。

有人可以用简单的术语澄清一下。

最佳答案

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

JavaBean是一个POJO类,具有针对getter和setter的特定命名约定,这是正确的,不仅是这样:它通常是对其他对象(属性)的封装,可序列化并且具有零参数构造函数。
Sun当时有一个关于JavaBean的完整规范。 Sun将其定义为“可以在构建器工具中直观地操作的可重用软件组件”。此外,在JavaBean规范中规定:


  • 支持“自省(introspection)”,以便构建器工具可以分析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

    10-06 10:18