14.POJO与Bean类的区别

目录

一、POJO与Bean类。

(1)POJO类:

(2)Bean类:

(3)POJO和Java Bean是两个不同的概念:

(4)二者的主要区别在于:


一、POJO与Bean类。

(1)POJO类:

POJO(Plain Old Java Object)是一个简单的Java对象,没有任何限制、约束或继承关系。通常用于表示一些简单的数据模型或对象。

一个标准的POJO需要满足以下条件:

  1. 公共构造函数:POJO需要有公共的无参构造函数。

  2. 私有属性:POJO中的所有属性都应该使用私有(private)修饰符,以确保数据的封装性和安全性。

  3. 公共方法:POJO应该提供一些公共的getter和setter方法,以便访问和修改属性的值。

  4. 无业务逻辑:POJO不应该包含复杂的业务逻辑或其他与数据模型无关的功能。

  5. 不依赖特定框架:POJO不应该直接或间接地依赖于任何特定的框架或库。

总之,一个标准的POJO应该是一个纯粹的Java对象,只包含数据和对数据的访问和修改方法,不包含任何业务逻辑和特定框架的依赖。这样可以使POJO更加灵活、可重用和易于维护。


POJO (Plain Old Java Object) 是指一个普通的 Java 对象,它没有遵循任何特定的框架规则,是非侵入性的。

POJO 需要满足以下条件:

  1. 遵循 Java Bean 的命名规则(getter 和 setter 方法);
  2. 没有实现任何框架相关的接口或类;
  3. 没有继承框架相关的类。

这些条件是为了使 POJO 简单和独立,提高了它的可读性和可维护性。

1. 创建POJO类
java
public class Person {
    private String name;
    private int age;
    
    public Person() {}
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int age) {
        this.age = age;
    }
}
上述代码中,Person类是一个简单的POJO类,它包含了两个属性(name和age)
和对应的getter/setter方法。

(2)Bean类:

Java Bean需要满足如下条件:

  • 类必须是公共的,并且具有一个公共的无参数构造函数,因为Java反射机制在创建Bean时需要使用无参构造函数。
  • 所有属性都应该是私有的,并且通过公共的getter/setter方法来访问和修改属性的值。
  • 属性名必须遵循标准的命名规范,即以小写字母开头,后面的每个单词首字母大写,例如firstName、lastName。
  • 应该实现序列化接口(Serializable),这样Bean对象才能在网络中进行传输或者被存储到文件中。
  • 根据需要可以实现其他接口,比如多线程接口(Runnable)等。
2. 创建JavaBean类
java
public class Customer implements Serializable {
    private long id;
    private String firstName;
    private String lastName;
    private String email;

    public Customer() {}

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
上述代码中,Customer类是一个JavaBean类,它包含了四个属性(id、firstName、lastName
和email)和对应的getter/setter方法。此外,它还实现了Serializable接口,以支持序列化操作。

(3)POJO和Java Bean是两个不同的概念:

POJO和Java Bean(或简称为Bean)是两个不同的概念。虽然它们都是Java类,但是在定义和使用上存在一些差异。

POJO指的是普通的Java对象,它是一种轻量级的、独立于任何框架或技术的Java类。在定义上,POJO不需要继承或实现任何接口,并且不依赖于特定的技术或中间件。它通常包含一些属性和setter/getter方法,用于封装数据,是一种用于业务逻辑编写的简单Java对象。

Java Bean则是一种可重用的Java组件,是Java语言中的一个重要概念。它具有特殊的属性和方法规范,并且必须实现Serializable接口。Bean通常用于在模块之间传递数据和存储数据。在定义上,Bean通常包含一些私有属性(private)、公共的setter/getter方法和无参构造方法等。

在Java中,POJO和Java Bean是两个独立的概念,它们彼此之间没有继承或者实现关系,也没有包含或者被包含的关系。POJO是一个更加通用的概念,可以是任意的Java类,而Java Bean是一种符合特定规范的POJO,在Java程序中通常作为数据载体来使用。因此,Java Bean是POJO的一种特殊形式。

(4)二者的主要区别在于:

1、定义方式:POJO定义时没有规范要求,可以灵活自由地定义其属性和方法;Java Bean则要求遵循特定的属性和方法规范,需要实现特定的接口和构造方法等。

2、用途:POJO通常用于业务逻辑编写,用于封装数据并进行业务处理;Java Bean则通常用于数据传输和存储,例如在Web开发中,可以将从Servlet传递给JSP的数据封装成Bean对象进行传输。

3、依赖性:POJO不依赖于任何第三方类库或框架,是一种独立的Java对象;Java Bean则通常需要使用特定的框架或技术进行创建和使用,例如Spring框架。

总之,二者有明显的区别,而Java Bean可以看作是POJO的一种特殊实现,符合特定规范的POJO对象。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值