首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

entity、bo、vo、po、dto、pojo如何理解和区分?

Java开发过程中,基本实体类包都以entity或者model来称呼,可是不少项目中,却以Bo、Vo来命名,面试的时候,也有可能被问到这些问题。那么,这几者分别代表什么意思呢?...Entity 最常用实体类,基本和数据表一一对应,一个实体一张表。...页面需要展示三个字段:name,gender(男/女),age DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构 Pojo(plian ordinary java object...) 代表简单无规则java对象 纯的传统意义的java对象,最基本的Java Bean只有属性加上属性的get和set方法 可以额转化为PO、DTOVO;比如POJO在传输过程中就是DTO Dao(data...所以实际项目中,一般都是这样应用的: 控制层(controller-action),业务层/服务层( bo-manager-service),实体层(po-entity),dao(dao),视图对象(Vo

3.7K31

PO,BO,VODTO

里或者PO里都不恰当 3、为什么要有VO?...VO是拿给前端展示给用户的实体 a) 有一些敏感的属性不能给前端展示,涉及安全问题 4、为什么要有DTO?...举例: 1、前端传给我们的参数我们自动封装成了VO 2、我们在Controller里把VO转成了BO,然后调用Service里的方法 3、Service层处理业务的时候发现要调用一个外部服务,那么就组装一个...DTO参数去调用外部RPC服务,最终得到的DTO的结果我们在转成我们自己的BO再参与到业务处理中 4、Service处理的结果要查询DB,那么从DAO层返回来的是一个PO,我们也是把PO先转成我们的BO...在参与业务处理 5、Service层处理完业务返回了一个BO,然后在Controller里我们把他转成VO再对外提供出去 五、遵循了原则?

67430
您找到你想要的搜索结果了吗?
是的
没有找到

VODTO,PO 的见解

1.VO,DTO,PO的概念 VO 是Value Object 的缩写,值对象,位于视图层,每一个字段与视图层所需要的字段对应 DTO是Data Transfer Object 的缩写,数据传输对象...了 我们要先从页面上拿到VO,然后判断VO中的age是不是大于20,如果大于20,就把VO中的username和password拿出来,放到DTO中,然后在把DTO中的username和password...原封不动地放入PO中,然后将PO传入数据库,这就是他们三个的区别 PS:VO对应于页面上需要显示的数据,PO对应于数据库中存储的数据,DTO对应于除二者之外需要进行传递的数据,DTO只是VO到PO,或者...VO。...展示层把VO转换为服务层对应方法所要求的DTO,传送给服务层。 服务层首先根据DTO的数据构造(或重建)一个DO,调用DO的业务方法完成具体业务。

77841

PO,BO,VODTO 区别详解

里或者PO里都不恰当 3、为什么要有VO?...VO是拿给前端展示给用户的实体 a) 有一些敏感的属性不能给前端展示,涉及安全问题 4、为什么要有DTO?...先上图 image.png 举例: 1、前端传给我们的参数我们自动封装成了VO 2、我们在Controller里把VO转成了BO,然后调用Service里的方法 3、Service层处理业务的时候发现要调用一个外部服务...,那么就组装一个DTO参数去调用外部RPC服务,最终得到的DTO的结果我们在转成我们自己的BO再参与到业务处理中 4、Service处理的结果要查询DB,那么从DAO层返回来的是一个PO,我们也是把PO...先转成我们的BO在参与业务处理 5、Service层处理完业务返回了一个BO,然后在Controller里我们把他转成VO再对外提供出去 五、遵循了原则?

2.4K65

DTOentity自动赋值

实体与Dto自动赋值 在开发的过程中,实体之间相互赋值是很正常的事,但是我们一般的方法都通过set和get方法来进行的,如果要赋值的字段少那还行,但是需要赋值的字段超过10个,那就是个灾难,你会看到整屏代码中全是...两个实体属性字段几乎完全相同 两个字体有部分字段相同 源实体只有部分字段赋值,目标实体有完整的值 第一种情况 对于第1点来说,我们用到最多的就是entitydto之间的转换了,这个我们可以使用Spring...outJson = objectMapper.writeValueAsString(productDetail); //上面代码里,outJson的值将会过滤掉只有默认值的属性 第三种情况 本情况主要对于从dto...到entity转换过程中出现 ,比如一个put操作,前端可能只修改某几个属性,而在后端处理时也只希望处理这几个被赋值的属性,这时我们使用下面的方法: @RequestMapping(value

1.3K30

VODTO、DO、PO 我告诉你

导图下载请点击文章底左下角->阅读原文 VODTO的区别 DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。...对于绝大部分的应用场景来说,DTOVO的属性值基本是一致的,而且他们通常都是POJO,因此没必要多此一举,但不要忘记这是实现层面的思维,对于设计层面来说,概念上还是应该存在VODTO,因为两者有着本质的区别...VODTO的应用 上面只是用了一个简单的例子来说明VODTO在概念上的区别,本节将会告诉你如何在应用中做出正确的选择。...在以下才场景中,我们可以考虑把VODTO二合为一(注意:是实现层面): 当需求非常清晰稳定,而且客户端很明确只有一个的时候,没有必要把VODTO区分开来,这时候VO可以退隐,用一个DTO即可,为什么是...VO退隐而不是DTO

2.4K81

关于DO,VO,DTO,QueryParam的思考

# 关于DO,VO,DTO,QueryParam的思考 总结一下最近项目中的一些问题 DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。...当针对的查询语句时,可以将查询的VO对象单独定义一个,用QueryParam作为查询对象,与基本的VO区别开来 DTO(Data Transfer Object):数据传输对象,主要用于外部接口参数传递封装...转化的过程也很简单,可以利用spring提供的BeanUtils.copyProperites快速的将VO中的属性赋值给DTO对象,避免一堆set方法赋值的麻烦。...在返回值到达Controller之后,由于需要展示给前端,DTO对象还需要转化为VO对象 # 总结 除QueryParam以外,VO对象进入Controller之后需要进行对象转换变为DTO方便数据在接口中间的传递...在数据库操作之前,DTO对象需要转换为DO 在返回值的过程中,数据库返回的对象除基本类型之外需要转为DTO传递 在返回值回到Controller时,需要将DTO对象转换为VO对象,从而返回给前端

1.6K10

DO,DTO,VO,POJO 你知道吗?

•PO/DO/Entity,其数据结构对应数据表中的一条记录,因此是同一类别的。...•DTO,用于传输数据,可能传递给前端,也有可能传递给其他系统。用于承载数据。•VO,这个最好理解,前端最后需要的数据长什么样,对应的对象就是 VO。 如何使用这些 O?...省略方案 1.不管你是叫 PO 还是 DO 还是 Entity,用于描述数据库记录的对象一定要存在,不可省略。2.DTO 和 BO 在一般情况下,如果业务系统不是非常复杂,可以考虑省略。...3.VODTODTO 可以用于将数据传递给前端,如果你不需要删减字段的话,VO 可以考虑省略。 注意事项 领域模型命名规约: •数据对象:xxxDO,xxx 即为数据表名。...•POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。

1.1K20

DDD - 如何理解EntityVO

文章目录 概述 状态 标识 Entity 对比 VO 如何识别 ---- 概述 为了更好的理解 EntityVO,我们需要先区分两个概念: 状态 、 标识 ---- 状态 购物中的订单状态,相比大家都熟悉哈...理解了什么是「状态」以后,我们就可以来初步区分EntityVO了: Entity在整个生命周期中,有多个「状态」,也就是说「状态」是可变的(至于变不变就看实际情况了) 而VO在整个生命周期中,...所以,「标识」是另一个区分EntityVO的关键点: Entity有标识 VO没有标识 注意标识并不一定只是一个字段,可能是多个字段的组合,这需要根据不同的业务逻辑来确定。...---- Entity 对比 VO Entity是具有多个「状态」的对象,「状态」在其生命周期中可能会改变,通过「标识」来唯一确定这个对象 VO只有一个「状态」,且是在创建时就确定的,也就是说VO是不可变的...那么我们如何在系统中识别哪些对象是Entity,哪些对象又是VO呢?

1.1K10

Java中的VO,BO,PO,DO,DTO

易混点一:VODTO 首先VO是最常用的,但对于这个概念,网上也是众说纷纭,value object 或 view object,一般说视图对象或者值对象,我更倾向理解为视图对象。...VO比较容易混淆的是DTODTO是展示层与服务层之间传递数据的对象,可以这样说,对于绝大部分的应用场景来说,DTOVO的属性值基本是一致的,而且他们通常都是POJO,那么既然有了VO,为什么还需要DTO...,服务层只负责业务,与具体的表现形式无关,DTO不应该出现与表现形式的耦合,DTO定义的是原始数据,VO再对DTO数据进行解释。...这下VODTO用法就清晰很多了。...例如业务不复杂,根本没有多端展示的差异化,VO可以直接拿掉,直接使用DTO传输到前端数据即可。

1K30

DTO、TO、VO、PO、DO、BO、AO、DAO、POJO

——杨沫 之前一直有朋友问我Java中DTO、TO、VO、PO、DO、BO、AO、DAO、POJO这么多O到底是什么意思,看博客看不懂,有没有实际的例子 当然,这些O是出自《阿里Java开发手册》...POJO(Plain Ordinary Java Object): 在本规约中,POJO 专指只有 setter/getter/toString 的 简单类,包括 DO/DTO/BO/VO 等。...我就说说我的理解吧,顺带写点例子 这里就写个根据用户名、分页参数查询用户列表的例子吧 DTO(Data Transfer Object)数据传输对象 首先我们接口接参可以使用DTO,简单来说就是Controller.../BO/VO 等。...这就是我对DTO、TO、VO、PO、DO、BO、AO、DAO、POJO的理解了 其实在不同的公司,不同的技术经理会定好,或者公司内部有相关文档等,这上面也只是我当前公司沿用的,仅供参考,如有争议也欢迎与我探讨

74610

架构 开发设计 分层调用 VO DTO PO DO

最近,看到一些讲到 vodto等各种各样的层次,本篇文章,就对此做下讲解。...VO Value Object 值对象 也可以理解成视图对象 主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。...DTO Data Transfer Object 数据传输对象。 含义:DTO (经过处理后的PO,可能增加或者减少PO的属性) 比如我们一张表有100个字段,那么对应的PO就有100个属性。...但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端。

30210

1分钟看懂:java 项目中 VODTOEntity,各自是在什么情况下应用的

,与数据库相对应, 2、vo 里的每一个字段,是和你前台 html 页面相对应, 3、dto 这是用来转换从 entityvo,或者从 voentity 的中间的东西 。...)你要先从页面上拿到 vo,然后判断 vo 中的 age 是不是大于 20。...2)如果大于 20,就把 vo 中的 name 和 pass 拿出来,放到 dto 中。...3)然后在把 dto 中的 name 和 pass 原封不动的给 entity,然后根据 entity 的值,在传入数据库。 这就是他们三个的区别。...PS: dtoentity 里面的字段应该是一样的,dto 只是 entityvo,或者 voentity 的中间过程,如果没有这个过程,你仍然可以做到增删改查,这是根据具体公司规范来的

19.3K52

Java开发中PO、VO、DAO、BO、DTO、POJO 含义

真的有必要定义 VO,BO,PO,DO,DTO 吗 在讲具体的概念之前,先简单的讲一讲MVC开发模式。...> 而VO,BO,PO,DO,DTO呢,就是穿梭在这M、V、C层之间的实体传输对象。...项目中真的有必要定义VO,BO,PO,DO,DTO吗? 还是要理性看待这个问题,要看项目“目的地”是什么。...如果项目比较小,是一个简单的MVC项目,又是单兵作战,不建议使用VO,BO,PO,DO,DTO,直接用POJO负责各个层来传输就好,因为这种项目的“目的地”是快速完成。...而更多的时候,是持续迭代的团队协作项目,这个时候就建议用VO,BO,PO,DO,DTO,而且团队内要达成共识,形成一个标准规范。

49070

DTOVO的区别及使用场景详解

在前后端数据交互过程中,为了保证数据的安全性和效率,通常会采用 DTOVO 来封装数据。本篇博客将详细介绍 DTOVO 的区别以及使用场景。...一、DTOVO 的概念DTO(Data Transfer Object)和 VO(Value Object)都是一种设计模式,用于封装数据和提供服务。...而 VO 只包含需要在前端页面上显示的属性,不包含敏感数据和不必要的属性。三、DTOVO 的使用场景数据传输量大小如果需要传输的数据量比较大,建议使用 DTO 来封装数据。...因为 DTOVO 可以将数据封装成一个独立的对象,方便代码的开发和维护。四、DTOVO 的优缺点DTO 的优点:可以避免数据的重复查询和传输,提高程序的性能和效率。...当我们在进行前后端数据交互时,通常会使用 DTOVO 来封装数据。下面是一个示例,用于说明 DTOVO 的区别。

1.3K10
领券