java - 如何创建 POJO?

标签 java pojo

最近我开始听说“POJO”(普通旧 Java 对象)。我用谷歌搜索了它,但仍然不太了解这个概念。谁能给我一个 POJO 的清晰描述?

考虑一个带有变量“id、name、address、salary”的类“Person”——我将如何为这种情况创建一个 POJO?下面的代码是POJO吗?

public class Person {
    //variables
    People people = new People();
    private int id;
    private String name;
    private String address;
    private int salary;


    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getAddress() {
        return address;
    }

    public int getSalary() {
        return salary;
    }

    public void setId() {
        this.id = id;
    }

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

    public void setAddress() {
        this.address = address;
    }

    public void setSalary() {
        this.salary = salary;
    }
}

最佳答案

POJO 只是一个简单的、旧的 Java Bean,已删除了限制。 Java Bean 必须满足以下要求:

  1. 默认无参数构造函数
  2. 遵循getFoo(或 boolean 值的isFoo)的Bean约定和名为foo的可变属性的setFoo方法;如果 foo 是不可变的,则不要使用 setFoo。
  3. 必须实现 java.io.Serializable

POJO 不强制要求任何这些。顾名思义:在JDK下编译的对象可以被认为是Plain Old Java Object。没有应用服务器,没有基类,不需要使用接口(interface)。

首字母缩略词 POJO 是对 EJB 2.0 的一种 react ,它需要几个接口(interface)、扩展的基类和许多方法来完成简单的事情。一些人(其中包括 Rod Johnson 和 Martin Fowler)反对复杂性,并寻求一种无需编写 EJB 即可实现企业级解决方案的方法。

Martin Fowler 创造了一个新的缩写词。

Rod Johnson 写了“没有 EJB 的 J2EE”,写了 Spring,对 EJB 产生了足够的影响,因此 3.1 版看起来很像 Spring 和 Hibernate,并从中获得了来自 VMWare 的甜蜜 IPO。

这里有一个例子,你可以绕一圈:

public class MyFirstPojo
{
    private String name;

    public static void main(String [] args)
    {
       for (String arg : args)
       {
          MyFirstPojo pojo = new MyFirstPojo(arg);  // Here's how you create a POJO
          System.out.println(pojo); 
       }
    }

    public MyFirstPojo(String name)
    {    
        this.name = name;
    }

    public String getName() { return this.name; } 

    public String toString() { return this.name; } 
}

关于java - 如何创建 POJO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3527264/

相关文章:

java - EntityManagerFactory 中未指定 PersistenceProvider,并且选择的 PersistenceUnitInfo 未指定基于注释的配置

java - 如何使 seam POJO session 无效

Java:Web 应用程序中的 hibernate - 无法实例化默认 tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]

java - POJO 对比 EJB 对比 EJB 3

java - 契约(Contract)设计中哪些先决条件是合理的?

java - 从 Java 方法的递归调用生成 OL LI 树结构

java - 尝试删除文件时出现 AccessControlException

java - Apache POI XSSF 加载问题

java - 如何使用 asynctask json 添加 pojo

java - 将 POJO 转换为 <K,V> 映射