当前位置:文档之家› Javabean与DTO的区别

Javabean与DTO的区别

Javabean与DTO的区别
Javabean与DTO的区别

javabean:

在Java程序或JSP程序中,其实有很多的代码段是可以重复使用的,比如对数据库的操作、用户的有效性检查及某些项特定功能的实现等。为了很好的解决这个问题,提高开发效率,Sun公司推出了JavaBean,简言之,JavaBean这是一个实现了某个功能且供重复使用的Java类。

在JSP中使用JavaBean后,可实现HTML与Java代码的分离,使JSP更易于开发和维护。因此JavaBean成了JSP程序员的必备利器之一。

虽然JavaBean是Java类,同时它也具有自己的一些特征:

1、JavaBean是一个public的类

2、JavaBean有一个不带参数的构造方法

3、JavaBean中的属性通过getXXX()和setXXX()进行操作

按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于

javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:

1.可以实现代码的重复利用

2.易编写、易维护、易使用

3.可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。

Javabean,POJO,PO,VO,DTO

比如我们编写一个计算圆面积的java类CircleArea.java 以后需要计算圆面积的地方直接调用就行了。

-----------------

来自百度对POJO的解释:

简单的Java对象(Plain Ordinary Java Objects)实际就是普通JavaBean,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

其它的解释:

POJO -Plain Old Java Objects ,即"普通的老旧的Java对象".

该名称的创立者之一Matin Flower是这样解释的:"对于人们经常忘记常规的Java对象,我的总结是它们没有一个好名字- 因此在准备一次演讲时,Rebecca Parsons, Josh Mackenzie 和我给起了名字: POJO。"

POJO是不包含业务逻辑的透明组件,就像其命名那样,它的确简单,只用作单纯的DTO(Data Transport Object数据传输对象)或是VO(Value Object值对象).它通常的构成形式为一个包含私有变量作为属性以及访问其属性的getter和setter方法的类,根据需要可以为其

添加constructor.对于初识POJO的人来说,它很像JavaBean,但按

照其应与其他组件易组合的设计目的,它不应包含业务逻辑的处理,这也是与JavaBean不同的地方。

PO -Persistent Object ,即"持久化对象".

PO是位于EIMS层数据库中的实体,生命周期和数据库密切相关.在

向数据库插入记录时创建该实体,删除或关闭数据库时该实体随之消亡.很多优秀的开源框架都实现了将数据库中的PO通过ORM用POJO来实际操作,如Hibernate,JDO等。

最后我们总结一下:

1.VO/DTO 就是Value Object和Data Transform object就是作为数据

使用的对象

2.POJO,是Plain Ordinary(Old)Java Object的缩写,是不包含业务逻辑的JavaBean,通常情况下可以作为VO/DTO来使用

3.PO,是Persistence Object的缩写,来自各种各个JPA ORM(Java Persistent API Object Relational Mapping)提供商比如Hibernate toplink 等厂商,是跟数据库交互的时候存在的中间对象,而且可以有各种逻辑操作。

pojo与实体bean:

pojo 应用于页面数据的操作,是来保存数据的。(你也可以不这样做,但是这已经成了一种规范。)

实体bean与数据库表关联,是对数据表的操作。

其它:

POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。

先解释上面的意思:

pojo的格式是用于数据的临时传递,它只能装载数据,作为数据存储的载体,而不具有业务逻辑处理的能力。

而javabean虽然数据的获取与pojo一样,但是javabean当中可以有其它的方法。

“javabean技术”单元习题

“JavaBean技术”单元习题 一、填空题 1.___JAVABEAN________和JSP想结合,可以实现表现层和商业逻辑层的分离。 2.在JSP 中可以使用___________操作来设置Bean 的属性,也可以使用 ___________操作来获取Bean 的值。 3.___________操作可以定义一个具有一定生存范围以及一个唯一id的JavaBean的实例。 4.JavaBean有四个scope,它们分别为___________、___________、___________和___________。 二、判断题 1.中的name 及property 区分大小写。(T ) 2. 在JavaBean 中有很多方法,其中包含了主方法(F )。 3. JavaBean中的属性既可以是public型的,也可以是private型的。(F ) 4. JavaBean中的方法既可以是public型的,也可以是private型的。(F )5.JavaBean实质上是一个Java 类,该类可以被JSP程序进行直接调用.( F ) 6. 编写JavaBean可以先不必加入到JSP 程序中调用,而直接用main 方法来进行调试,调试好后就可以在JSP中使用了。(T ) 三、选择题 1. 关于JavaBean 正确的说法是:() (A)Java 文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写。 (B)在JSP 文件中引用Bean,其实就是用语句。 (C)被引用的Bean 文件的文件名后缀为.java 。 (D)Bean 文件放在任何目录下都可以被引用。 2.在JSP 中调用JavaBean 时不会用到的标记是:() (A) (B) (C) (D) 3.在JSP 中使用标记时,不会出现的属性是:() (A)name (B)property (C)value (D)以上皆不会出现 4.在项目中已经建立了一个JavaBean 该类为:bean.Student,给bean 具有name 属性,则下面标签用法正确的是:() (A) (B)hello student! (C) hello student! (D) 5.在JSP 中想要使用JavaBean:mypackage.mybean,则以下写法正确的是()(选择一项)

Javabean技术访问数据库

Javabean访问数据库 【摘要】:提出实现与数据库紧密结合的数据类型, 并使用该类型的对象访问和操作数据库。对B/S 模式下利用JSP和JavaBean 技术进行数据库访问开发强大的JSP程序, 使得显示页面和数据库访问和操作相分离的研究。可以提高数据库访问和操作的安全性, 便于调试和维护, 且可重用封装数据库操作的JavaBean, 从而增加代码的重用性和系统的安全性。 【关键词】:javabean 数据库 引言: 在开发web应用程序时,数据库的访问是必不可少的。通过对数据库的访问实现对数据的增、删、改、查等操作。这一系列的操作代码是烦琐且在每次对数据库的操作时都要重复编写的代码。Javabean的任务就是”一次性编写,任何地方执行,任何地方重用“。这就是是实际上解决困扰工业上的日益增加的复杂性问问题,提供一个简单、紧凑的和优秀的问题解决方案。在利用JSP开发时可使用Javabean技术来解决。 Javabean的概述 Javabean是一种Java语言写成的可重用的软件组件。组件是自含的、可重复使用的软件单元;Javabean中的组件,则可以使用可视的应用程序开发,可视编写地将他们编写到Java程序中.Javabean在容器中运行并对外提供具体的业务逻辑操作功能。一般来说,Javabean被分成两类:可视化Javabean和不可视化Javabean。可视化Javabean可以表示简单的GUI组件,不可视化Javabean 在后台完成业务逻辑处理功能,例如:访问数据库执行查询操作中的Javabean,这些javabean在运行时不需要任何可视的界面。在JSP程序中所用的Javabean 一般以不可视化的组件为主,而可视化的 Javabean一般用以Applet程序或者

第七章 JavaBean技术

纯JSP开发方式 JSP+JavaBean开发方式

JavaBean : 支持组件的功能。Java中的组件叫JavaBean。Java(咖啡)Bean(豆)。狭义的JavaBean是具有一个界面形式的体现;广义的JavaBean是普通的Java类。满足两点要求:(1)属性名第一个字母都是小写的,private的;(2)一般具有getters和setters 方法。 原因就是符合面向对象的特性,所以属性是私有的,别人不能访问,从而隐藏细节。Getters是读取属性的值,setters是修改属性的值。如果属性只能读不能改,那么只写getters方法即可。如果属性只能改不能读,那么只写setters方法即可。 一般web中使用的JavaBean不具有图形界面的表现。一般是用来实现某一业务逻辑或者取得特定结果。 【例7.1】封装邮箱地址的JavaBean 【Email.java】 package com.lyq.bean; import java.io.Serializable; public class Email implements Serializable { // serialVersionUID 值 private static final long serialVersionUID = 1L; // Email地址 private String mailAdd; // 是否是一个标准的Email地址

private boolean eamil; /** * 默认无参的构造方法 */ public Email() { } /** * 构造方法 * @param mailAdd Email地址 */ public Email(String mailAdd) { this.mailAdd = mailAdd; } /** * 是否是一个标准的Email地址 * @return布尔值 */ public boolean isEamil() { // 正则表达式,定义邮箱格式 String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; // matches()方法可判断字符串是否与正则表达式匹配 if (mailAdd.matches(regex)) { // eamil为真 eamil = true; } // 返回eamil return eamil; } public String getMailAdd() { return mailAdd; } public void setMailAdd(String mailAdd) { this.mailAdd = mailAdd; } } 【index.jsp】 <%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

相关主题
文本预览
相关文档 最新文档