什么是POJO?

dxxyhpgq  于 2022-09-17  发布在  Java
关注(0)|答案(11)|浏览(152)

大家好,
我将是java企业开发的新手。
但对这个词很失望。
有人能解释一下什么是POJO吗。
我从阅读中得到的是,bean具有getter或setter方法。
这是否意味着每个POJO实际上都是ejb3.0中的“实体”(或EJB2.x中的实体bean)。

hwamh0ep

hwamh0ep1#

大家好,
我将是java企业开发的新手。
但对这个词很失望。
有人能解释一下什么是POJO吗。
我从阅读中得到的是,bean具有getter或setter方法。
这是否意味着每个POJO实际上都是ejb3.0中的“实体”(或EJB2.x中的实体bean)。

你在哪里读到的?你还看了哪些其他的东西,你做过谷歌搜索吗?

iyzzxitl

iyzzxitl2#

你在哪里读到的?你还看了哪些其他的东西,你做过谷歌搜索吗?

是的,我正在这样做,但没有正确的答案。
我唯一得到的是这些是实体bean。
谁能给我一个POJO的例子?

vngu2lb8

vngu2lb83#

是的,我正在这样做,但没有正确的答案。
我唯一得到的是这些是实体bean。
谁能给我一个POJO的例子?

实际上,POJO是一个类而不是实体bean。POJO代表普通的旧Java对象,如果从字面上看,它指的是any Java类。然而,隐含的含义是一个不扩展任何类的java类。所有实体bean都扩展了javax.ejb。EntityBean接口,因此它们不是POJO。可能代表电话联系人的pojo可能看起来像:

public class PhoneRecord{ 
  String name; 
  String phoneNumber; 
}

注意这个类如何没有实现或扩展任何东西。因此,它是一个“普通的旧”java对象。通常,在企业java开发中,您可以将POJO编写为支持业务逻辑的助手类。
通常,尽管存在例外情况,pojo不会扩展任何其他类或实现任何接口。

wgxvkvu9

wgxvkvu94#

实际上,POJO是一个类而不是实体bean。POJO代表普通的旧Java对象,如果从字面上看,它指的是any Java类。然而,隐含的含义是一个不扩展任何类的java类。所有实体bean都扩展了javax.ejb。EntityBean接口,因此它们不是POJO。可能代表电话联系人的pojo可能看起来像:
【代码】公共类电话记录{
字符串名称;
字符串电话号码;
}/[代码]
注意这个类如何没有实现或扩展任何东西。因此,它是一个“普通的旧”java对象。通常,在企业java开发中,您可以将POJO编写为支持业务逻辑的助手类。
通常,尽管存在例外情况,pojo不会扩展任何其他类或实现任何接口。
您好,非常感谢这段代码。我现在对他们更清楚了。
你能给我一个示例程序,它们在哪里有用,以及如何使用它们吗。?

w8rqjzmb

w8rqjzmb5#

注意这个类如何没有实现或扩展任何东西。因此,它是一个“普通的旧”java对象。通常,在企业java开发中,您可以将POJO编写为支持业务逻辑的助手类。
通常,尽管存在例外情况,pojo不会扩展任何其他类或实现任何接口。
你好
我不同意你关于波乔斯的说法。如果POJO没有实现任何东西,那么为什么我们要在hibernate的持久性类中实现可序列化的接口。例如,看看下面的代码。

import java.io.Serializable;   
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.Table;   
@Entity 
@Table(name = "employee") 
public class Employee implements Serializable { 
  public Employee() {   
  } 
  @Id 
  @Column(name = "id") 
  Integer id;   
  @Column(name = "name") 
  String name;   
  public Integer getId() { 
    return id; 
  }   
  public void setId(Integer id) { 
    this.id = id; 
  }   
  public String getName() { 
    return name; 
  }   
  public void setName(String name) { 
    this.name = name; 
  }   
}

如果您想评论,请提前感谢。

gojuced7

gojuced76#

我和下一个人一样喜欢一场健康的辩论……但如果你打算去那里,请使用代码标签并将火焰控制在最低限度。

1u4esq0p

1u4esq0p7#

我有点同意Kirit;我唯一不同意的是POJO可以扩展类或实现接口。但最重要的是它不符合JavaBean的规则,即每个属性都有getter/setter方法。
尽管如此,当阅读来自不同框架供应商(如Hibernate、Apache Struts等)的文档时,POJO术语还是相当混乱。

sc4hvdpw

sc4hvdpw8#

POJO不是一个定义良好的实体;在过去,企业bean是
应该是一个一刀切的解决方案,您必须实现接口,扩展
从其他神秘的类中,跳转只是为了创建您的Java类
企业豆;然后你还没有实现任何有用的东西,即。
所有的“业务逻辑”仍有待实现。
“服务器”,一些神秘的东西,可以处理这些企业bean
会创造你的物品,摧毁它们或让它们入睡;你无法控制
或者几乎没有控制。
人们渴望只使用Java类,而不使用所有必需的hulla baloo。
然后,其他一些机制看到了曙光;特别是依赖注入,或者
也被称为控制反转,允许您只编写一个简单的类和
这些模式的实现处理了其余部分,即它们“注入”了
这样的POJO可以运行的上下文。
所有这些框架又一次卷土重来,有些希望您实现
某个接口或从某个魔术基类扩展,以获得该任务
完成;为了方便起见,POJO被重新定义了一点;有时它必须是一个
普通bean,有时您必须为
他们,有时那些框架想让你再次跳转。
所有这些类都被称为POJO。
亲切的问候,
乔斯

lyfkaqu1

lyfkaqu19#

POJO是一个Java对象,除了Java语言规范强制的限制之外,它不受任何限制的约束。一、 例如,POJO不应该
1.扩展预先指定的类
2.实现预先指定的接口
3.包含预先指定的注解。。
然而,由于技术困难和其他原因,许多被描述为POJO兼容的软件产品或框架实际上仍然需要使用预先指定的注解来实现持久性等功能。其思想是,如果对象(实际上是类)在添加任何注解之前是POJO,并且如果注解被删除,则将返回POJO状态,则仍然可以将其视为POJO。那么基本对象仍然是POJO,因为它没有特殊的特性(如实现的接口)使其成为“专用Java对象”(SJO或(sic)SoJO)。
希望这有帮助。。

6psbrbz9

6psbrbz910#

POJO是一个Java对象,除了Java语言规范强制的限制之外,它不受任何限制的约束。
POJO的性质
所有属性都必须是公共的setter和getter方法
所有示例变量都应该是私有的
不应扩展预先指定的类。
不应实现预先指定的接口。
不应包含预先指定的注解。
它可能没有参数构造函数
例如,这是一个POJO:

class Point {  
    private double x;  
    private double y;  
    public double getX() { return x; }  
    public double getY() { return y; }  
    public void setX(double v) { x = v; }  
    public void setY(double v) { y = v; }  
    public boolean equals(Object other) {...}  
}   
hgb9j2n6

hgb9j2n611#

在Java企业中,POJO意味着普通的旧Java对象。Java中的POJO对象用于Java程序的可读性和可重用性。

相关问题