JavaBean 和 POJO 有什么区别?

新手上路,请多包涵

我不确定其中的区别。我使用的是 Hibernate,在一些书中,他们将 JavaBean 和 POJO 作为可互换的术语使用。我想知道是否存在差异,不仅仅是在 Hibernate 上下文中,而且作为一般概念。

原文由 DJphilomath 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 395
2 个回答

JavaBean 遵循某些约定。 Getter/setter 命名、具有公共默认构造函数、可序列化等。有关更多详细信息,请参阅 JavaBeans 约定

POJO(普通旧 Java 对象)没有严格定义。它是一个 Java 对象,不需要实现特定接口或从特定基类派生,或使用特定注释以与给定框架兼容,并且可以是任意的(通常相对简单) Java 对象。

原文由 Brian Agnew 发布,翻译遵循 CC BY-SA 3.0 许可协议

所有 JavaBeans 都是 POJO,但并非所有 POJO 都是 JavaBeans。

JavaBean 是满足特定编程约定的 Java 对象:

  • JavaBean 类必须实现 Serializable 或 Externalizable;
  • JavaBean 类必须有一个公共的无参数构造函数;
  • 所有 JavaBean 属性都必须具有公共 setter 和 getter 方法(视情况而定);
  • 所有 JavaBean 实例变量都应该是私有的。

原文由 nagapavan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题