POJO和JavaBean的区别(3大区别详解)

POJO和JavaBean的区别(3大区别详解)-mikechen

什么是POJO?

POJO全称是Plain Ordinary Java Object ,中文翻译成就是普通Java类。

POJO的特点:有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口,示例如下:

public class Person{  
      private long id;  
      private String name;  
      public void setId(long id) {  
          this.id = id;  
      }  
      public void setName(String name) {  
          this.name=name;  
      }  
      public long getId() {  
          return id;  
      }  
      public String getName() {  
          return name;  
      }  
  }

没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

 

什么是JavaBean?

JavaBean 是一种Java语言写成的可重用组件,JavaBean符合一定规范编写的Java类,不是一种技术而是一种规范。

大致有如下特点:

① 类是公共的;

② 类的成员变量是私有;

③有一个无参的构造方法;

④ 必须提供公共的setter和getter方法,用于外部对属性赋值和获取属性值;

⑤这个类应是可序列化的。

具体示例如下:

public class UserInfo implements java.io.Serializable{  
    //实现serializable接口。  
    private static final long serialVersionUID = 1L;  
 
    private String name;  
    private int age;  
 
    //无参构造器  
    public UserInfo() {  
     
    }  
 
    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当中可以有其它的方法  
    public void userInfoPrint(){  
    	System.out.println("Hello World");  
    }  
}

 

POJO与JavaBean的区别

主要区别如下:

1)POJO是比javabean更纯净的简单类或接口,而JavaBean则比 POJO复杂很多,Java Bean 是可复用的组件;

2)POJO主要用于数据的传递,它作为数据存储的载体只能装载数据,而不具有业务逻辑处理的能力;

3)虽然Javabean可以向POJO一样获取数据,但是Javabean当中可以有其它的方法。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法