我已经阅读了有关 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 规范中声明:
Individual Java Beans will vary in the functionality they support, but the typical unifying features that distinguish a Java Bean are:
- 支持“内省(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