当前位置: 首页 > news >正文

java,关于POJO,查阅资料

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

编辑摘要

目录

  • 1自身特点
  • 2Java对象
  • 3POJO与javabean的区别
  • 错误的认识
  • 真正的意思
 
  • 1自身特点
  • 2Java对象
  • 3POJO与javabean的区别
  • 3.1错误的认识
  • 3.2真正的意思

POJO - 自身特点

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

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

POJO - Java对象

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

POJO - 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

转载于:https://www.cnblogs.com/jiang2538406936/p/5245084.html

相关文章:

  • 阅读计划
  • Android Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
  • 基于tiny4412的Linux内核移植 -- 设备树的展开
  • 浅谈股市、美元汇率与原油价和黄金价格间的关系
  • pyVmomi入门
  • 清理sga组件
  • Java NIO和IO的主要区别
  • hibernate主键生成策略(转载)
  • 微软,苹果,Google用户体验设计原则
  • QT(1)准备好环境和.pro文件
  • QT(2)Widget的小例子
  • Xcode7 添加PCH文件
  • MySQL事务隔离级别详解(转)
  • 登陆的时候如何用单例将用户登录成功后的信息存储下来,并且在其他地方可以使用...
  • linux2.6.36之后对工作队列的改进
  • #Java异常处理
  • 0x05 Python数据分析,Anaconda八斩刀
  • eclipse(luna)创建web工程
  • Hibernate【inverse和cascade属性】知识要点
  • HTTP中的ETag在移动客户端的应用
  • learning koa2.x
  • Netty源码解析1-Buffer
  • sublime配置文件
  • 电商搜索引擎的架构设计和性能优化
  • 缓存与缓冲
  • 译自由幺半群
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 优秀架构师必须掌握的架构思维
  • MPAndroidChart 教程:Y轴 YAxis
  • Semaphore
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #includecmath
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)php新闻发布平台 毕业设计 141646
  • (十一)手动添加用户和文件的特殊权限
  • (算法设计与分析)第一章算法概述-习题
  • (转)h264中avc和flv数据的解析
  • (转)程序员疫苗:代码注入
  • (转)原始图像数据和PDF中的图像数据
  • (轉貼) UML中文FAQ (OO) (UML)
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .htaccess配置常用技巧
  • .net Application的目录
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net语言中的StringBuilder:入门到精通
  • /boot 内存空间不够
  • @Autowired和@Resource的区别
  • @Repository 注解
  • @取消转义
  • [Angular] 笔记 6:ngStyle
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配