POJO、JavaBean和EJB的区别

1、POJO(Plain Old Java Object)

        “Plain Old Java Object”的意思是“纯朴旧式的java对象”,现在大家也称它作“简单的java对象”。何为纯朴旧式?在该对象中只有private属性的参数以及根据每个参数定义的get和set方法,没有其它的方法、没有类的继承、接口的实现等,更没有被其它框架侵入的java对象。

public class Student {  
  
    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;  
    }  
  

 

2、JavaBean

       JavaBean是符合一定规范而编写的Java类,通常意义上开发者会把JavaBean看成是遵循特定约定的POJO+其它方法。显而易见的,POJO作为纯朴旧式的对象只能作为数据载体,而JavaBean具有业务逻辑处理能力。

       通常的约定包括:

所有参数的属性为private;
//类中包含一个公共的无参沟通器;
类实现serializable接口,可序列化……       
public class StudentWork implements java.io.Serializable{  
      
    //实现serializable接口。  
    private static final long serialVersionUID = 1L;  
      
    private String name;  
    private int age;  
      
    //无参构造器  
    public StudentWork() {  
          
    }  
  
    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 studentWork(){  
        System.out.println("studentWork");  
    }
}
 

3、DAO(data access object)

       说到这里,就不得不简单地提一下DAO——数据访问对象,以及与其相关联的PO、DTO、VO、BO等。我们通常说的DAO层就是由这些DAO组成的。DAO一般都有接口和该接口的实现类,接口用于规范实现类,同时与底层数据库技术解耦。实现类一般用于数据库的增删查改CURD操作。

       PO(persistent object)持久化对象、DTO(data transfer objoct)数据交换对象、VO(view object)显示对象、BO(business object)业务对象等,我们通常将POJO持久化为PO,然后用PO组装不同的DTO和VO,用于数据的交换和展示。如我们的学生表有30个字段,那么通过ORM出来的Entity对象就会有30个属性,而我们的页面只需要显示10个关键的值。这个时候为了防止暴露底层的表结构,我们通过10个属性的DTO来传递值,到达界面再转化成VO展示。另外一种情况是,对于业务场景来说,这10个关键值有可能来自几张不同的表,比如成绩表、班级表等等,这时候我们BO则会将这些表的PO拼装起来成为业务场景下的一个完整对象。

4、EJB(Enterprise JavaBean)

        EJB又称企业级JavaBean,顾名思义,对比起普通的JavaBean和POJO,EJB可以说是在业务或者应用系统下的一项功能,这项功能是JavaBean的集合。换句话说,满足某项业务功能的JavaBean搭配。

         (PS:这里所说的EJB是指与POJO和JavaBean对比的一个对象概念,实际上EJB所包含的内容十分广泛,将另开文章讨论。)
————————————————
版权声明:本文为CSDN博主「夜半一碗凉泡面」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010560349/article/details/82462124

猜你喜欢

转载自blog.csdn.net/muyimo/article/details/106443238