Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是纯香草爪哇豆;普通Java类?_Java_Spring - Fatal编程技术网

什么是纯香草爪哇豆;普通Java类?

什么是纯香草爪哇豆;普通Java类?,java,spring,Java,Spring,此上下文的技术含义是什么?普通Java Beans和普通Java类??普通Java bean/类指通常具有以下属性的非常基本的类 没有扩展或实现任何东西 具有私有类变量 有一个空构造函数 具有标准的getter/setter方法 这也称为POJO(普通旧Java对象)。比如, public class MyPojo { /* * Private class variables */ private String name; private int

此上下文的技术含义是什么?普通Java Beans和普通Java类??

普通Java bean/类指通常具有以下属性的非常基本的类


  • 没有扩展或实现任何东西
  • 具有私有类变量
  • 有一个空构造函数
  • 具有标准的getter/setter方法
这也称为POJO(普通旧Java对象)。比如,

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;
    }   
}
“普通”参考是为了将其与JavaBeans(可重用GUI小部件的古老最佳实践)和EnterpriseJavaBeans(JavaEE规范的元素)区分开来

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


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

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

  • Java1.0问世,包括JavaBean规范(例如默认的ctor、属性的getter/setter等),允许它们与VB风格的编辑器交互
  • “企业”JavaBeans(EJB)1.0用于描述分布式、事务性和持久性组件
  • J2EE标准于1999年在JavaOne上发布,为我们提供容器来管理对象生命周期、线程、池等,并为EJB提供命名、查找等企业服务
  • 人们发现EJB1.0和2.0规范需要大量代码和工作来完成简单的事情
  • 对EJB2.0的抵制让我们回到POJO,产生了Spring、Guice和其他试图再次简化事情的DI/AOP框架
  • “普通Java类”(又名.POJO)是一个具有属性的类。顾名思义,它是一个普通的旧Java对象。
    理想情况下,POJO不扩展任何类,也不实现任何接口。它也没有注释


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

    • 它必须有一个默认构造函数
    • 它的属性必须有getter和setter
    • 它必须实现可序列化的
    因此JavaBean是一种POJO(不是理想的POJO,因为它实现了可序列化),但有一些限制


    资源:

    关于同一主题:


      • 我认为“香草”的描述来源于冰淇淋,描述了常见或基本的口味。因此,香草POJO是朴素、简单、朴素的POJO。这个词也用于金融和性,也可能用于其他领域。(这是我发布的最不技术性的答案!)

        “不扩展或实现任何东西”可能更像是“不扩展或实现给定框架中的任何东西”,这有点模糊——但Pojo实现/扩展东西是可以的——这是你自己的东西。“普通香草”不是一个技术术语。这是一种口语,与“简单”或“未增强”大致相同。谢谢,历史演变对于理解这一点非常有用。