一尘不染

Java如何创建一个POJO?

java

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

考虑带有变量“ id,名称,地址,薪水”的“人员”类-在这种情况下我将如何创建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;
    }

阅读 911

收藏
2020-03-14

共1个答案

一尘不染

POJO只是一个普通的,已删除限制的Java Bean。Java Bean必须满足以下要求:

  1. 默认的无参数构造函数
  2. 对于名为foo的可变属性,遵循getFoo的Bean约定(对于布尔值,则为isFoo)和setFoo方法。如果foo是不可变的,则忽略setFoo。
  3. 必须实现java.io.Serializable
    POJO并没有强制要求任何这些。顾名思义,在JDK下编译的对象可以被视为普通的旧Java对象。无需应用程序服务器,无需基类,无需使用任何接口。

POJO的缩写是对EJB 2.0的一种反应,它需要多个接口,扩展的基类以及许多用于完成简单操作的方法。其中的一些人,包括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; } 
}
2020-03-14