POJO 和 Java Bean 的区别是什么?
Jihongchang(讨论 | 贡献)2023年2月8日 (三) 05:01的版本
POJO (Plain Old Java Object) 和 Java Bean 有一些不同之处:
- 定义不同:POJO 是一种简单的 Java 对象,通常不遵循任何特定的框架或规范。而 Java Bean 是一种遵循 JavaBeans 规范的 Java 对象。
- 属性访问不同:POJO 可以有任意类型的属性,并且不需要遵循特定的访问方式。但是,Java Bean 必须遵循 JavaBeans 规范,即必须有默认的构造函数和一对 getter 和 setter 方法来读取和写入该属性的值。
- 序列化不同:POJO 不需要序列化,但是如果它需要进行网络传输或存储,则必须序列化。而 Java Bean 必须实现 Serializable 接口,这是 Java Beans 规范的一个重要组成部分。
总的来说,Java Bean 是一种规范化的Java对象,而 POJO 是一种简单的Java对象。
如果需要在框架中使用 Java 对象,则应该使用Java Bean;如果仅仅是需要一个简单的 Java 对象,则可以使用 POJO。
POJO | Java Bean | |
---|---|---|
定义 | 通常不遵循任何特定的框架或规范 | |
属性访问 | 不需要遵循特定的访问方式
设置或者获取属性值的方法的名称随意命名 |
必须遵循 JavaBeans 规范,
有默认的空参构造函数和 getter setter |
序列化 | 不是必须 implements Serializable,
不 implements Serializable 也可以叫 POJO |
因为 implements Serializable 是 Java Beans 规范的一部分,
所以必须 implements Serializable, 没 implements Serializable 就不算是 Java Bean |