什么是 JavaBean、Bean?什么是 POJO、DTO、VO、DAO?

参考文章:(https://blog.csdn.net/chenchunlin526/article/details/69939337

1、什么是POJO

POJO(Plain Old Java Object),从字面上翻译为“纯洁老式的Java对象”,但大家都使用“简单java对象”来称呼它。

定义:POJO是一个简单的、普通的Java对象,它包含业务逻辑处理或持久化逻辑,但它不是JavaBean,不是EntityBean,它不具有如何特殊的角色,不继承或不实现其他Java框架的类或接口。

可以理解为 Action

2、什么是JavaBean

JavaBean实际上是指一种特殊的Java类,它通常用来实现一些简单的功能,并且可以很容易的被重用或插入到其它应用程序中去。所有遵守 “一定编程原则” 的Java类都可以被成为 JavaBean。

JavaBean是一个遵循特定写法的Java类,是一种Java语言编写的可重用组件,它的方法命名、构造及行为必须符合特定的约定:
1.这个类必须有一个公共的(public)无参构造函数;
2.所有的属性必须是私有化的;
3.私有化的属性必须通过public类型的方法(get方法和set方法)暴漏给其它程序,并且方法的命名也必须遵循一定的命名规范;
4.这个类应该是可序列化的(比如可以实现 Serializable 接口,用于实现 bean 的持久性)。

可以理解为有序列号的 Entity

3、什么是 Bean

Bean的中文含义是“豆子”,Bean的含义是可重复使用的Java组件。所谓组件就是一个由可以自行进行内部管理的一个或几个类所组成、外界不了解其内部信息和运行方式的群体。使用它的对象只能通过接口来操作。

Bean并不需要继承特别的基类(BaseClass)或实现特定的接口(Interface)。Bean的编写规范使Bean的容器(Container)能够分析一个Java类文件,并将其方法(Methods)翻译成属性(Properties),即把Java类作为一个Bean类使用。Bean的编写规范包括Bean类的构造方法、定义属性和访问方法编写规则。

Java Bean是基于Java的组件模型,由属性、方法和事件3部分组成。在该模型中,JavaBean可以被修改或与其他组件结合以生成新组件或完整的程序。它是一种Java类,通过封装成为具有某种功能或者处理某个业务的对象。因此,也可以通过嵌在JSP页面内的Java代码访问Bean及其属性。

4、什么是 PO

PO(persistent Object):持久对象,可以看成是与数据库中的表相映射的Java对象,最简单的PO就是对应数据库中的一条记录,多条记录用 PO集合。PO中不应该包含任何对数据库的操作。

1.有时也称为 Data对象,对应数据库中的entity,可以简单的认为一个PO对应数据库中的一条记录。
2.用于持久化 insert/delete 操作。
3.PO中不应该包含如何对数据库的操作。
4.PO的属性是和数据库表的字段一一对应的。
5.PO对象需要实现序列化接口。

PO可以看作是符合JavaBean规范的纯Java对象

5、什么是 DTO

DTO(data transfer Object):数据传输对象,用在跨进程传输或远程传输时,它不应该包含业务逻辑。

比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO 内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO(View Object)。

6、什么是 VO

VO:value Object 值对象/ view Object 表现层(视图)对象。

1.VO(value Object):值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。

2.VO(view Object):视图对象,用一个VO对象对应整个界面的值。
1)、主要对应页面显示(web页面/swt、swing界面)的数据对象。
2)、可以和表对应,也可以不,这根据业务的需要。

7、什么是 DAO

DAO(Data Access Object):数据访问对象,

1.主要用来封装对DB(数据库)的访问(CRUD操作)。
2.通过接收业务层的数据,把POJO持久化为PO。

8、什么是 BO

BO(Business Object):业务对象,封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容