博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJO和JavaBean的区别
阅读量:5340 次
发布时间:2019-06-15

本文共 1459 字,大约阅读时间需要 4 分钟。

什么是POJO

POJO,全称“Plain Ordinary Java Object”(也有说是“Pure Old Java Object”),从字面上翻译为“简单普通的Java对象”,但大家都使用“简单java对象”来称呼它。

POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

 

POJO和JavaBean的比较

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

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

 

JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:

1.这个类必须有一个公共的缺省构造函数。

2.这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。

3.这个类应是可序列化的。

 

详解:

使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接。 其中有一些属性及其getter、setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用。当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。
 
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hibernate框架,有一个关联的xml文件,使对象与数据库中的表对应,对象的属性与表中的字段相对应。
 
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, JavaBean 是可复用的组件,对 JavaBean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean 。但通常情况下,由于 JavaBean 是被容器所创建(如 Tomcat) 的,所以 JavaBean 应具有一个无参的构造器,另外,通常 JavaBean 还要实现 Serializable 接口用于实现 Bean 的序列化。 JavaBean 是不能被跨进程访问的。
 
JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。
一般在web应用程序中建立一个数据库的映射对象时,我们只能称它为POJO。POJO(Plain Ordinary Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象。理想地讲,一个POJO是一个不受任何限制的Java对象(除了Java语言规范)。POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。

转载于:https://www.cnblogs.com/lanyueboyu/p/9085022.html

你可能感兴趣的文章
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
查看>>