java pojo 是什么_POJO是什么,javabean是什么,以及POJO与javabean的区别

java pojo 是什么_POJO是什么,javabean是什么,以及POJO与javabean的区别POJO(PlainOrdinaryJavaObject)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。使用POJO名称是为了避免和EJB混淆起来,而且简称比较直接.其中有一些属性及其gettersetter方法的类,没有业务逻辑,有时可以作为VO(value-object)或dto(DataTransformObject)来使用.当然,…

大家好,又见面了,我是你们的朋友全栈君。

POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

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

自身特点

POJO是Plain OrdinaryJava Object的缩写不错,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。

POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便程序员使用数据库中的数据表,对于广大的程序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set方法。POJO类也给我们在struts框架中的配置带来了很大的方便。

实例

POJO有一些private的参数作为对象的属性。然后针对每个参数定义了get和set方法作为访问的接口。例如:

public class User {

private long id;

private String name;

public void setId(long id) {

this.id = id;

}

public void setName(String name) {

this.name = name;

}

public long getId() {

return id;

}

public String getName() {

return name;

}

}

POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hibernate框架,有一个关联的xml文件,使对象与数据库中的表对应,对象的属性与表中的字段相对应。

POJO与javabean的区别

POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean 。但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat) 的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。 Java Bean 是不能被跨进程访问的。JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。一般在web应用程序中建立一个数据库的映射对象时,我们只能称它为POJO。POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象。理想地讲,一个POJO是一个不受任何限制的Java对象(除了Java语言规范)。

错误的认识

POJO是这样的一种“纯粹的”JavaBean,在它里面除了JavaBean规范的方法和属性没有别的东西,即private属性以及对这个属性方法的public的get和set方法。我们会发现这样的JavaBean很“单纯”,它只能装载数据,作为数据存储的载体,而不具有业务逻辑处理的能力。

真正的意思

POJO = “Plain Old Java Object”,是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB,JDBC等等。

即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。

下面是摘自Martin Fowler个人网站的一句话:

“We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it’s caught on very nicely.”--Martin Fowler

我们疑惑为什么人们不喜欢在他们的系统中使用普通的对象,我们得到的结论是——普通的对象缺少一个响亮的名字,因此我们给它们起了一个,并且取得了很好的效果。——Martin Fowler

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140384.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mysql 时间戳换成日期格式_mysql 时间戳与日期格式的相互转换

    mysql 时间戳换成日期格式_mysql 时间戳与日期格式的相互转换1、UNIX时间戳转换为日期用函数:FROM_UNIXTIME()selectFROM_UNIXTIME(1156219870);输出:2006-08-2212:11:102、日期转换为UNIX时间戳用函数:UNIX_TIMESTAMP()SelectUNIX_TIMESTAMP(‘2006-11-0412:23:00’);输出:1162614180SelectUNIX_TIMEST…

  • Android代码混淆官方实现方法「建议收藏」

    Android代码混淆官方实现方法「建议收藏」首先查看一下“project.properties”这个文件:#ThisfileisautomaticallygeneratedbyAndroidTools.#Donotmodifythisfile–YOURCHANGESWILLBEERASED!##ThisfilemustbecheckedinVersionContro

  • 流量矿场[通俗易懂]

    第二个流量魔盒,流量矿场,扫码注册,实名秒通过不刷脸,现在活动:实名通过秒送1台魔盒机,25天产13个币,现在币开盘价格0.11美元,估计后期会涨,不要错过第二个流量魔盒。速度撸起来。线下已经5块回收了!注册链接:http://sina.lt/fyFz苹果APP下载地址:https://9dun.cn/s/zjmalls 安卓APP下载地址:https://9dun.cn/s/zjmallss…

  • python开发mbus程序_Mbus 2019(水表校验程序)V2.1 最新版

    python开发mbus程序_Mbus 2019(水表校验程序)V2.1 最新版Mbus2019(水表校验程序)是一款功能强大的水表等设备的测试辅助工具。Mbus2019(水表校验程序)选择串口号选择波特率及效验位,打开串口,可读取信息,真实有效可靠,可读取写入表计地址,发送标准188读计量数据、控制码等命令,可设置时间,获取权限等。特色1、Mbus使用方便,可以免费帮助用户测试水表2、提供命令设置功能,使用标准的188命令控制读取方案3、控制码也可以在软件设置,控制码长…

    2022年10月15日
  • ubuntu ettercap

    ubuntu ettercapettercapMITM中间人1,系统版本2,安装ettercap3,ettercap1,系统版本#cat/etc/issueUbuntu18.04.2LTS\n\l2,安装ettercap安装图形界面#apt-cachesearchettercap#apt-getinstall-yettercap-graphical3,ettercap…

  • typora文章同步(跨平台)

    typora文章同步(跨平台)typora实现备份个人博客一、图片上传PicGo有提供默认的图床,可以直接使用,但是有上传的限制,有特定要求的可以自己配置github图床。1.配置github图床利用github搭建图床2.安装PicGo下载链接windows选择exe结尾文件即可mac选择dmg为后缀的文件安装的时候一路next即可。3.在picGo中配置使用github图床4.picGo设置开启时间戳重名防止图片上传出错ps:我当时一直传输失败,修改代理,重新生成厂库,toke

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号