Bean 和 POJO 是两个不同的概念。
- Bean 是指一个符合特定规范的 Java 类,它包括成员变量、属性以及一系列的 getter 和 setter 方法,具有可读性、可写性、可编辑性、可序列化等特性,通常被用作数据封装和传输。
- POJO 是指一个普通的 Java 对象,它没有遵循任何特定的规范或接口,不包含业务逻辑或特定行为,它只是一个纯粹的用于数据传输的普通 Java 对象。 因此,可以理解为 Bean 是一种特殊的 POJO,即符合特定规范、具备特定性质的 POJO。Bean 的定义主要来自于 JavaEE 规范,但实际上,在常规的 Java 应用程序中,这两个概念的差别并不是很明显,很多时候它们被混用。 需要注意的是,POJO 模式越来越流行,它的出现是为了简化 EJB(Enterprise JavaBeans,一种应用于分布式事务的服务器端组件模型)组件编程,但实际上也适用于几乎所有与业务逻辑无关的数据对象。与此相对,java bean 现在主要用于 UI 控件和数据绑定等场景。