java的dto、dao、vo、bo、do、po、pojo 导读在java编程中我们常常需要做数据交换那么在数据交换过程中就需要使用到实体对象这就不可避免的使用到vo、dto、po等实体对象在java中都属于pojo的范畴至少在不同场景下使用所表达的含义不同其中常用的就是视图层和后端交互用vo后端和持久化交换用dto、rpc等数据交换用dto等目录一句话导读一、如何认识pojo二、分别解释dto、dao、vo、bo、do、po1.DTO2.dao3.vo4.bo5.do6.po三、补充一、如何认识pojoPOJOPlain Old Java Object是指普通的Java对象它是一个简单的Java类通常没有实现特定的接口或继承特定的类。POJO对象的设计原则是简单、普通、纯粹的Java对象不依赖于特定的框架或技术。POJO对象通常用于封装数据它可以包含一些私有字段属性和公共的getter和setter方法用于对属性进行读写操作。POJO对象通常不包含业务逻辑主要用于传输数据、数据存储和数据交换。在Java开发中POJO对象被广泛应用于各种场景例如数据传输POJO对象用于在不同层之间传输数据如在业务逻辑层Service层和表示层Presentation层之间传输数据。数据存储POJO对象用于封装数据库中的数据通常用于与数据库进行交互的ORM对象关系映射操作。数据交换POJO对象用于与外部系统进行数据交换如与其他服务进行RESTful API调用、与消息队列进行数据传输等。单元测试由于POJO对象通常不依赖于外部环境因此在单元测试中往往可以更加方便地创建和操作POJO对象。二、分别解释dto、dao、vo、bo、do、po1.DTOData Transfer Object数据传输对象DTO用于在不同层之间传输数据它通常用于将业务逻辑层Service层的数据传输给表示层Presentation层或持久化层Persistence层。DTO对象通常包含业务领域的数据但不包含业务逻辑。2.daoData Access Objects数据访问对象,DAO用于封装数据访问逻辑它负责与数据库进行交互执行CRUD创建、读取、更新、删除操作。DAO对象通常封装了数据库访问的细节使业务逻辑层能够更加简洁地操作数据。3.voValue Object值对象VO也是用于数据传输的对象类似于DTO但VO通常更加专注于视图层的数据展示。VO对象通常包含了在前端页面展示所需的数据。屏蔽掉密码、创建时间、状态等敏感信息4.boBusiness Object业务对象层BO用于封装业务逻辑它通常包含了一系列的业务方法用于实现业务规则和业务流程。BO对象通常会调用DAO对象来实现数据的持久化和访问。5.doDomain Object 领域对象通常用于表示业务领域中的实体或业务对象。DO对象通常包含了业务逻辑和数据是业务逻辑的实体表示。在某些情况下DO对象可能与PO对象相似但它们的用途和含义不同。DO对象通常用于表示业务领域中的复杂业务逻辑和业务实体。6.poPersistant Object 持久对象通常用于表示与数据库中的表或文档相映射的Java对象。PO对象的属性对应数据库表的字段每个PO对象通常表示数据库中的一条记录。PO对象通常用于ORM对象关系映射框架中如Hibernate、MyBatis等。三、补充这些对象在Java开发中常用于不同的层次和场景有助于将数据、业务逻辑和持久化操作进行有效地分离和组织。在实际应用中根据具体的需求和设计理念可以选择合适的对象模型来实现业务功能。一般开发过程中还存在entity、model、bean等对象Entity: 指的是java实体在软件开发中实体通常用于表示现实世界中的具体对象或概念如用户、订单、产品等。在JPAJava Persistence API或ORM对象关系映射框架中实体通常指的是与数据库表相对应的Java对象用于表示数据库中的一条记录。实体对象通常包含与数据库表字段对应的属性以及对应的getter和setter方法。Model模型 模型通常用于表示数据的抽象或规范它可以是一种设计模式、数据结构或规则。在MVCModel-View-Controller架构中模型用于表示应用程序的业务逻辑和数据。在这种情况下Model对象通常用于封装业务逻辑、处理数据操作和传递数据给视图View层。Model对象可以是实体对象、DTO数据传输对象或其他业务对象。BeanJava Bean Java Bean是一种符合特定规范的Java类它通常包含私有的属性、公共的无参构造方法、getter和setter方法并且可以序列化。Java Bean通常用于封装数据和行为是一种可重用、可扩展的组件。Bean可以用于表示实体对象、业务对象、数据传输对象等它们通常是轻量级的、不包含业务逻辑的数据对象。————————————————版权声明本文为CSDN博主「天国的囚徒」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/rainyonelove/article/details/137086550