Java对象POJO和JavaBean的区别和联系

POJO

POJO是"Plain Ordinary Java Object"的缩写,即为简单普通的java对象。主要用来指代那些没有遵循特定的java对象模型,约定或者框架的对象
POJO主要有两个特点:

  • 对象属性为private,然后针对每一个属性定义get和set方法访问的接口。
  • 没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
public class Person {
    private String name;
    private int age;

    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;
    }
}

JavaBean

JavaBean 是一种Java语言写成的可重用组件,符合一定规范编写的Java类。JavaBean不是一种技术,而是一种规范。它的方法命名,构造及行为必须符合特定的约定:

  • 所有属性为private
  • 必须有一个公共的缺省构造函数
  • 属性使用getter和setter来访问,其他方法遵从标准命名规范
  • 可序列化的,即实现serializable接口

因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。

public class Person implements Serializable {

    private static final long serialVersionUID = 1L;
    
    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;
    }
}

区别

  • POJO其实是比JavaBean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而一些JavaBean中往往会封装一些简单逻辑
  • POJO主要用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。
  • JavaBean虽然数据的获取与POJO一样,但是JavaBean当中可以有其它的方法且JavaBean可以持久化。
  • POJO对象更好移植和理解,JavaBean因为可能包含业务逻辑,在移植和理解方面要差一些

参考

  1. https://www.jianshu.com/p/224489dfdec8

猜你喜欢

转载自blog.csdn.net/l460133921/article/details/86736823
今日推荐