POJO、JAVABean、Entity、domain以及EJB的区别

1、POJOPlain Ordinary Java Object,意为简单的Java对象,实际上指的就是就是普通的JavaBeans,它是为了避免和EJB(javaee javabeans)混淆所创造的                        简称。 POJO类中有属性和get、set方法,但是没有业务逻辑,也不能携带connection之类的方法。

2、javaBeans:它是一种JAVA语言写成的,根据一定的规范编写的可重用组件,即是实现了一定规范的特殊的类,可以被其它的程序员或者框架使用。

                          编写此类的规范如下:

                              (1)所有属性为private。

                              (2)这个类必须有一个公共的缺参构造函数。即是提供无参数的构造器。

                             (3)这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。 

                             (4)这个类应是可序列化的。实现serializable接口。

                     因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。主要区别在于POJO比javaBeans更纯                            净, 因为javaBeans可以有自己的一些逻辑实现(有处理逻辑业务的能力),也可以包含其他方法,同时还实现了序列化。

3、entity:实体类。一般来说,它对应数据库中的一张表,表中的字段名对应该类得属性名,即是由数据表生成的类。

                  那么,它是怎样定义的呢?,以下为前人总结的经验,附带一下可作为参考:

一、实体类的名字尽量和数据库的表的名字对应相同。

二、实体类应该实现java.io.Serializable接口。

三、实体类应该有个无参的构造方法。

四、实体类应该有个有参(所有的参数)的构造方法。

五、实体类有属性和方法,属性对应数据库中表的字段,主要有getter和setter方法。

六、实体类还应该有个属性serialVersionUID。例如:private static final long serialVersionUID = -6125297654796395674L;

七、属性一般是private类型,方法位public类型,对于数据库自动生成的ID字段对应的属性的set方法应为private。

4、domain:domain这个包国外很多项目经常用到,字面意思是域的意思。

5、 EJB(Enterprise JavaBean): 我认为它是一组”功能”JavaBean的集合。上面说了JavaBean是实现了一种规范的Java对象。这里说EJB是一组JavaBean的意思                  是,这一 组JavaBean组合起来实现了某个企业组的业务逻辑。这里的一组JavaBean不是乱组合的,它们要满足能实现某项业务功能的搭配。找个比方,                 对于一身穿着来说,包括一顶帽子,一件衣服,一条裤子,两只鞋,这穿着就是EJB.

 

 

posted @ 2020-06-13 15:10  一只蹒跚学编程的猴子  阅读(808)  评论(0编辑  收藏  举报