什么是普通的JavaBeans&普通的Java类?

时间:2010-09-15 08:59:03

标签: java spring

这个背景的技术含义是什么?普通的Java Beans& amp;普通的Java类??。

5 个答案:

答案 0 :(得分:7)

'plain-vanilla'bean / class表示一个非常基本的类,通常具有以下属性;

  • 不扩展或实施任何内容
  • 拥有私有类变量
  • 有一个空构造函数
  • 有标准的getter / setter方法

这也称为POJO(Plain Old Java Object)。例如;

public class MyPojo
{
    /*
     * Private class variables
     */
    private String name;
    private int size;

    /**
     * Empty constructor
     */
    public MyPojo()
    {
    }

    /*
     * Standard getter/setters 
     */
    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public int getSize()
    {
        return size;
    }

    public void setSize(int size)
    {
        this.size = size;
    }   
}

答案 1 :(得分:3)

“普通的Java类”(又名POJO)是一个具有属性的类。顾名思义,它是一个普通的旧Java对象 理想情况下,POJO不会扩展任何类,也不会实现任何接口。它也没有注释。


“普通的Java Bean”(又名JavaBean)是一个有一些要求的类。

  • 必须有默认构造函数
  • 它的属性必须有getter和setter
  • 必须实施Serializable

因此,JavaBean是一种POJO(不是理想的POJO,因为它实现了Serializable),但有一些限制。


资源:

关于同一主题:

答案 2 :(得分:1)

“普通香草”参考是将它与JavaBeans(可重复使用的GUI小部件的古老最佳实践)和EnterpriseJavaBeans(Java EE规范的元素)区分开来。

普通的香草类是不需要满足任何框架或方案要求的类。

普通香草豆是一个带有变异器和访问器(即getter / setter)的类,但没有行为。

答案 3 :(得分:1)

我认为“普通香草Java Bean”和POJO的历史是这样的:

  1. Java 1.0问世,包括Java Bean规范(例如默认ctor,属性的getter / setter等),以允许它们与VB风格的编辑器进行交互。
  2. “Enterprise”Java Beans(EJB)1.0用于描述分布式,事务性,持久性组件。
  3. J2EE标准于1999年在Java One上发布,旨在为我们提供容器来管理对象生命周期,线程,池等,并为EJB提供命名,查找等企业服务。
  4. 人们发现EJB 1.0和2.0规范需要大量代码并且可以做很简单的事情。
  5. 对EJB 2.0的反对使我们回到POJO,产生Spring,Guice和其他试图再次简化事物的DI / AOP框架。

答案 4 :(得分:1)

'Vanilla'的描述来自 ice cream ,我想,并描述了可用的常用或基本风味。因此,香草pojos是朴素,简单和朴素的pojos。该术语也用于金融和性,也可能用于其他领域。 (这是我发布的大多数非技术性的答案!)