JavaBean,POJO,VO,DTO的区别和联系

来自:    更新日期:早些时候
java项目中VO和DTO以及Entity,各自是在什么情况下应用的~

你好,按照标准来说:
1、entity里的每一个字段,与数据库相对应,
2、dto里的每一个字段,是和你前台页面相对应,
3、VO,这是用来转换从entity到dto,或者从dto到entity的中间的东西。
举个例子:
你的html页面上有三个字段,name,pass,age
你的数据库表里,有两个字段,name,pass(注意没有age哦)而你的dto里,就应该有下面三个(因为对应html页面上三个字段嘛)
private string name;
private string pass;
private string age;
这个时候,你的entity里,就应该有两个(因为对应数据库表中的2个字段嘛)
private string name;
private string pass;
到了这里,好了,业务经理让你做这样一个业务“年龄大于20的才能存入数据库”
这个时候,你就要用到vo了
你要先从页面上拿到dto,然后判断dto中的age是不是大于20,如果大于20,就把dto中的
name和pass拿出来,放到vo中,然后在把vo中的name和pass原封不懂的给entity,然后根据
entity的值,在传入数据库,这就是他们三个的区别
PS,VO和entity里面的字段应该是一样的,vo只是entity到dto,或者dto到entity的中间过程,如果没有这个过程,你仍然可以做到增删改查,这个就根据具体公司来的,纯手打,望采纳

POJO是一种概念或者接口,身份及作用随环境变化而变化,DTO是经过处理后的PO,可能增加或者减少PO的属性,一个POJO持久化以后就是PO。
一、具体含义:
POJO(plain ordinary java object):简单无规则java对象传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法,是最基本的Java Bean,只有属性字段及setter和getter方法。
DAO(data access object):数据访问对象
是一个sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合VO, 提供数据库的CRUD操作。
二、相关概念:
PO(persistant object): 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。
VO(value object):值对象
通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。
TO(Transfer Object):数据传输对象
在应用程序不同tie(关系)之间传输的对象

BO(business object):业务对象
从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。

VO即value object值对象
主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。

DTO (经过处理后的PO,可能增加或者减少PO的属性):
Data Transfer Object数据传输对象
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

POJO(POJO是一种概念或者接口,身份及作用随环境变化而变化) :
POJO有一些private的参数作为对象的属性。然后针对每个参数定义了get和set方法作为访问的接口
plain ordinary java object 简单java对象
即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。
一个POJO持久化以后就是PO。
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO


JavaBean,POJO,VO,DTO的区别和联系视频

相关评论:
  • 15737954015ejb,jpa,pojo都是什么意思
    吴雷咐enterprise javabean 企业级开发框架 Java Persistence API 一种orm标准 Plain Ordinary Java Object 简单java对象,想成一个实体类就行了

  • 15737954015Axis2的方式比较
    吴雷咐其中前面两种都是从基本的代码开始写起的.后面三种是从WSDL生成代码框架.Deploying POJOs(Plain Old Java Objects)JavaBean类需满足JavaBean规范,如采用标准的setter\/getter方法设置成员变量.POJO只是普通的java类.可以认为,JavaBean类都是是POJO,但POJO类未必是JavaBean!Building the service using AXIOM需要...

  • 15737954015后端pojv ,entity,ov 什么意思
    吴雷咐pojo(Plain Ordinary Java Object):普通的Java对象,其实就是简单的JavaBean实体类。对应数据库里的某一张表,pojo里的每一个属性都和该表中的字段一 一对应。vo(value object):值对象,又称表现层对象,对应展示界面的数据对象。比如一个前台展示的数据列表,这个列表中的姓名和用户名分别是存在于...

  • 15737954015bean 和javabean是同一个概念吧
    吴雷咐也不能这么等同。bean有很多种 例如spring、EJB等都有bean这个概念。而javabean 代表一个典型的POJO对象 。

  • 15737954015在JSP中调用JAVA类和使用JavaBean有什么区别
    吴雷咐所谓的POJO,就是EJB把E字去掉,剩下的JB就是JavaBean,换句话说,JavaBean在J2EE里,甚至可以充当某些EJB完成的任务,用途远大于Servlet。最后的区别,就是 JavaBean的主要用途在于管理JavaEE应用各个层之间的数据流,所以在一些框架中(如Struts)有FormBean和ActionBean的说法,其本质都是为了管理数据。相信如果把上述几点搞清...

  • 15737954015什么是POJO
    吴雷咐POJO = "Plain Ordinary Java Object",是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB, JDBC等等。即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是...

  • 15737954015java里,实体对象是什么
    吴雷咐专业点解释是:JavaBean定义了一组规则 JavaBean就是遵循此规则的平常的Java对象 JavaBean具有特性:可以实现代码的重复利用 易维护性、易使用性、易编写性 可以在支持Java的任何平台上工作,而不需要重新编译 可以在内部、网内或者是网络之间进行传输 可以以其它部件的模式进行工作 Hibernate里面的pojo,是...

  • 15737954015jsp相关问题
    吴雷咐最典型的例子莫过于struts1.x于其升级版本2.x的对比了,1.x耦合度太高逻辑业务及其繁琐,2.x只需使用pojo就可以实现(当然并非绝对如此,复杂的业务逻辑仍需要依赖容器)。4.什么时候使用呢servlet和javabean?servlet,与容器交互,就是收发客户数据;javaben,实现逻辑,如字符编码处理,数据库操作等。

  • 15737954015javabean和JDBC是什么?他们之间是什么关系?
    吴雷咐简单的说 javabean就是一个java类,但java类不都是javabean。满足javabean规范的类就是javabean。什么样子的类满足javabean规范呢?比如说这个类有个私有成员变量,并有其相应公有的get,set方法。那么这就是一个简单的javabean jdbc 就是实现你想要访问数据库的一个技术。它提供给你访问数据库一个接口,就...

  • 15737954015在SSH2开发中的数据前进过程,VO,POJO,PO之间的转换有什么好处
    吴雷咐VO:界面数据。POJO:类似于JavaBean的java类。PO:持久化对象,也就是数据库表对应的类 分这么多,主要是为了分离层与层之间的耦合性。首先应该遵守的原则:一个界面最好对应一个VO类,而不应该向界面传很多对象或List,在界面在获取并显示。一个数据库表对应一个PO类。而其他地方需要额外用到的类就...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网