POJO(Plain Old Java Objects)

POJO:Plain Old Java Objects,就是简单的Java对象。

POJO是被Rebecca Parsons, Josh MacKenzie 和Martin Fowler在2000年9月造出来的一个词。他们感觉将业务逻辑放在普通的Java对象中,而不是复杂的实体bean中,有很多优势。他们好奇为什么很多人不乐意使用普通的java对象。他们断定是因为普通的Java对象缺少一个花哨的名字,所以就取了POJO这个名字。
https://martinfowler.com/bliki/POJO.html
POJO(Plain Old Java Objects)_第1张图片

https://encyclopedia.thefreedictionary.com/Plain+old+Java+object
在软件工程中,POJO就是一个普通的Java对象,除了Java规范以外,它们不被任何特殊的限制所约束。
POJO(Plain Old Java Objects)_第2张图片

理想地说,POJO就是一个普通的Java对象,除了Java规范以外,它们不被任何特殊的限制所约束,即POJO不应该必须:

  • 继承预先指定的类
  • 实现预先指定的接口
  • 包含预先指定的注解

但是,由于技术的复杂性和其它原因,许多软件产品或者框架尽管声明它们遵从POJO,但为了实现某些特性,例如持久化,仍然需要使用预先定义的注解。所以,POJO的概念就放宽了。如果一个对象(实际就是Java类)在增加注解以前是POJO,把注解去掉以后又回归到了POJO的状态,那么这个对象仍然可以被认为是POJO。
所以,对于一个基本的对象,只要没有任何特别的特性(例如,实现一个接口)使它变成一个特别的Java对象,那么它就是一个POJO。
POJO(Plain Old Java Objects)_第3张图片

JavaBean是一个POJO,只不过它要实现序列化接口(Serializable)、有一个不带参数的构造器、允许通过getter和setter方法访问属性(其中getter和setter方法命名上要遵循规范)。所以严格来说,JavaBean对POJO模型有轻微地突破,因为它实现了序列化接口Serializable。但因为Serializable只是一个标记接口(即接口体内是空的),所以倒也问题不大。
POJO(Plain Old Java Objects)_第4张图片

你可能感兴趣的:(java,开发语言)