【问题标题】:Confuse among JavaBeans, POJO, beans?JavaBeans、POJO、beans 之间的混淆?
【发布时间】:2012-02-01 07:09:20
【问题描述】:

据我所知,JavaBeans 是 Java 类中任何字段的简单 getter 和 setter 方法,另一方面 POJO 看起来很相似(字段及其 getter/setter)那么有什么区别呢?

这还不够,所有 JSP 和 Struts 配置文件中都出现了 bean,它们(据我所知)做同样的事情......

  1. 我对命名感到困惑,有什么区别,魔术词是什么?
  2. 他们为什么称它为 bean,如果有人问我在 Java EE / JSP / Struts 的上下文中描述 bean,我该怎么说。

【问题讨论】:

标签: java jsp terminology javabeans


【解决方案1】:

POJO 是一个普通的 java 对象,不遵循任何框架标准。 Java Beans 通常也被认为是 POJO,因为 Java Beans 标准(或使用它的标准)有点弱。

Java Bean 是遵循特定命名约定(主要是 getter setter 事物)的 Java 类,并在许多上下文中使用。 JSP 就是其中之一。 Java Bean 实际上比大多数人使用的要多。您可以在本教程中了解它:http://docs.oracle.com/javase/tutorial/javabeans/index.html

为什么叫豆?我只能猜测:一方面是 Java -> Coffee -> Bean,另一方面 bean 是一种简单的、自包含的东西,有点适合“组件”

【讨论】:

  • 那么,我们如何在 jee/jsp 中区分 javabean(具有标准命名的类)和 bean(jsp:get/set/useBean)..
【解决方案2】:

JavaBean 是可序列化的 POJO,具有无参数构造函数,并允许使用 getter 和 setter 方法访问属性。 Enterprise JavaBean 不是一个单一的类,而是一个完整的组件模型(同样,EJB 3 降低了 Enterprise JavaBeans 的复杂性)。

因此可以看出的主要区别是 POJO 可以更加封装 - 具有参数构造函数并丢弃一些每个对象只能使用一次的 setter。您提到的 JavaBean 强制执行一些严格的标准,这并不是满足所有需求的最佳解决方案。

【讨论】:

    猜你喜欢
    • 2010-12-09
    • 2016-09-22
    • 2015-06-01
    • 2020-01-08
    • 2012-10-21
    • 2011-09-22
    • 2013-01-03
    相关资源
    最近更新 更多