什么是java pojo类、java bean、普通类? [复制]

Posted

技术标签:

【中文标题】什么是java pojo类、java bean、普通类? [复制]【英文标题】:What is java pojo class, java bean, normal class? [duplicate] 【发布时间】:2012-09-13 03:08:43 【问题描述】:

可能重复:Difference between DTO, VO, POJO, JavaBeans?

嗨,请不要说我的问题是重复的 :-) 我看到了所有问题,但不明白确切的区别。

谁能用简单的语言解释一下POJOBeanNormal Class 是什么?

【问题讨论】:

【参考方案1】:

POJO = 普通旧 Java 对象。它具有相应属性的属性、getter 和 setter。它还可以覆盖Object.toString()Object.equals()

Java Beans:见Wiki link。

普通类:任何 java 类。

【讨论】:

POJO 和 Beans 的唯一区别是 Beans 应该实现 Serializable 接口?【参考方案2】:

POJO 代表普通旧 Java 对象,用于描述与“普通类”相同的事物,而 JavaBean 遵循一组规则。最常见的 Bean 使用 getter 和 setter 来保护它们的成员变量,这些变量通常设置为私有并且有一个无参数的公共构造函数。 Wikipedia 对 JavaBeans 有很好的介绍:http://en.wikipedia.org/wiki/JavaBeans

POJO 通常用于描述不需要是任何东西的子类,或实现特定接口,或遵循特定模式的类。

【讨论】:

另外,JavaBeans 应该实现 Serializable 接口。 我在春天创建 bean 时没有。【参考方案3】:

    Normal Class:Java 类

    Java Beans

    所有属性都是私有的(使用 getter/setter) 公共无参数构造函数 实现可序列化。

    Pojo: 普通旧 Java 对象是一种 Java 对象,除了 Java 语言规范强制的限制之外,不受任何限制。即,POJO 不应该有

    扩展预先指定的类 实现预先指定的接口 包含预先指定的注释

【讨论】:

我听说除了无参数构造函数 pojo 和 bean 是一样的吗? java bean,实现Serializable意味着每次我们必须手动实现Serializable? 一个公共的无参数构造函数:我认为每个类都有自己的无参数构造函数,如果是正确的,为什么你只为bean指定?对不起,如果我错了,我更新鲜。 如果你没有为类指定任何构造函数,那么只有java会隐式创建无参数构造函数。 @firstpostcommenter 从person who coined the term 获取 POJO 的描述可能很有用。 (“将业务逻辑编码为常规 Java 对象而不是使用实体 Bean”)。换句话说,POJO 是一个用来描述“普通的旧 Java 对象”的名称,以便对比 Java bean。 POJO 是特定于域/业务对象的,因此不一定所有 Java 类都是 POJO

以上是关于什么是java pojo类、java bean、普通类? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java中的POJO是啥意思?

POJO / JavaBean / Entity Bean

pojo是啥意思

在Java的POJO类中添加@Component或@Bean好不好?

[java]javabean

JavaBean是什么,POJO是什么