java - Bean、Java Bean 和 Enterprise Java Bean 之间的区别

标签 java ejb javabeans

<分区>

我已经阅读了有关 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

关于java - Bean、Java Bean 和 Enterprise Java Bean 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31146038/

相关文章:

java - 使用java检查pdf PDF/A-1A时出现iText错误

jakarta-ee - 在托管事务期间关闭远程 EJB 连接

java - 在非 spring 注入(inject)类中使用 application.properties

java - 从应用程序客户端访问EJB(项目配置)

concurrency - Java中的不可变bean

spring - 将动态属性列表读入 Spring 托管 bean

java - 使用 Eclipse Java : Can I run code/tests from within another JVM?

java - 异步任务中的json空指针错误

java - Android 和 Java 中绘制椭圆的区别

java - 为什么数据传输对象 (DTO) 是反模式?