POJO只是一个普通的,已删除限制的Java Bean。Java Bean必须满足以下要求:
- 默认的无参数构造函数
- 对于名为foo的可变属性,遵循getFoo的Bean约定(对于布尔值,则为isFoo)和setFoo方法。如果foo是不可变的,则忽略setFoo。
- 必须实现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; } }


