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

在Java应用程序中的角色

使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter

setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform

Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

POJO是Plain Old Java Objects的缩写不错,但是它通指没有使用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,在它里面除了JavaBean规范的方法和属性没有别的东西,即

private属性以及对这个属性方法的public的get和set方法。我们会发现这样的JavaBean很“单纯”,它只能装载数据,作为数据存储

的载体,而不具有业务逻辑处理的能力。

真正的意思:

POJO = "Plain Ordinary 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."--MartinFowler.com

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

java pojo 是什么_什么是POJO相关推荐

  1. java的(PO,VO,TO,BO,DAO,POJO)解释

    java的(PO,VO,TO,BO,DAO,POJO)解释    O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库 ...

  2. java的(PO,VO,TO,BO,DAO,POJO)解释1

    java的(PO,VO,TO,BO,DAO,POJO)解释  O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...

  3. java: PO,VO,TO,BO,DAO,POJO 解释

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写 ...

  4. java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

    java的(PO,VO,TO,BO,DAO,POJO)解释 action包  顾名思义请求,主要是和view 即我们所说的视图就是页面打交道,action类 是 操作方法,对于页 面Form 表单的操 ...

  5. 【面向对象】——JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    前言 以前在学校学习java的时候,凡是开发项目都会将各个类分门别类的放在不同的包下,其中实体类的包尤为普遍,一般我都是建一个com.xxx.bean的包,然后凡是项目里面用到的实体类都丢进去,大家都 ...

  6. java商品搜索功能_利用solr实现商品的搜索功能(实例讲解)

    后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可 ...

  7. Java植物名录程序_【人工智能】动物、植物、车型、菜品、LOGO识别示例代码

    可以体验以下功能的微信小程序 图像识别部分接口Java-API调用示例代码 https://gitee.com/xshuai/ai/不是完整的web项目大家没必要下载运行.复制|下载相关代码即可 准备 ...

  8. Java Review - 并发编程_ 回环屏障CyclicBarrier原理源码剖析

    文章目录 Pre 小Demo 类图结构 CyclicBarrier核心方法源码解读 int await() int await(long timeout, TimeUnit unit) int dow ...

  9. Java Review - 并发编程_读写锁ReentrantReadWriteLock的原理源码剖析

    文章目录 ReentrantLock VS ReentrantReadWriteLock 类图结构 非公平的读写锁实现 写锁的获取与释放 void lock() void lockInterrupti ...

最新文章

  1. Matlab图像复原(运动模糊、散焦模糊)
  2. 网站安全扫描工具--Netsparker的使用
  3. JDK的快速排序算法实现DualPivotQuicksort
  4. CMOS图像传感器——工作原理
  5. @Select注解的使用
  6. 【LightOJ - 1104】Birthday Paradox(概率,思维)
  7. Linux Shell脚本入门教程系列之(十五) Shell函数简介
  8. macOS下利用dSYM文件将crash文件中的内存地址转换为可读符号
  9. (230)数据处理或加速方法(加速处理器)
  10. java 比较器类_高级编程之(Java常用类(Java比较器))
  11. React 生命周期
  12. VUE实现输入完当前input后自动跳到下一个input
  13. apizza开发工具
  14. windows服务器网站日志文件,使用nxlog收集windows服务器dns日志
  15. 计算机丢失xinput1 4 dll,VS中编译出现——计算机中丢失XINPUT1_4.dll解决办法
  16. 一个大牛的acm历程(看着就要颤抖)
  17. mac安装sql server
  18. 【224】基本功能计算器
  19. Android双卡设备 如何正确获取上网卡运营商类型
  20. 阿里云共享基本型 xn4 实例详解及使用建议

热门文章

  1. 如何基于 Kubernetes 构建完整的 DevOps 流水线
  2. 【送书活动】C# 程序员的自我修养
  3. 体验 ASP.NET Core 中的多语言支持(Localization)
  4. 码农不重视文档:开源项目深受其苦
  5. 升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java?
  6. 利用 Git OpenSSH 查看/生成 本机 ssh 公钥
  7. mysql中的操作指令,MySQL中常用指令操作的介绍(代码示例)
  8. 计算机应用技术 平面设计,全国信息化计算机应用技术水平教育考试试卷 平面设计师...
  9. 北京大学Tensorflow2.0笔记
  10. 淘宝网的技术发展史(二) ——Oracle替换MySQL