`

Java之POJO

 
阅读更多

一:什么是POJO
POJO的名称有多种,pure old java object 、plain ordinary java object 等。
按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。
POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
POCO的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言不一样。所以POCO的解释就是“Plain Old C# Object”。

 

二:为什么会有POJO?
主要是Java的开发者被EJB的繁杂搞怕了,大家经过反思,又回归“纯洁老式”的JavaBean,即有无参构造函数,每个字段都有getter和setter的java类。

 

三:POJO的意义
POJO让开发者可专注于业务逻辑和脱离框架的单元测试。除此之外, 由于POJO并不须要继承框架的类或实现其接口,开发者能够极其灵活地搭建继承结构和建造应用。
POJO的意义就在于它的简单而灵活性,因为它的简单和灵活,使得POJO能够任意扩展,从而胜任多个场合,也就让一个模型贯穿多个层成为现实。
先写一个核心POJO,然后实现业务逻辑接口和持久化接口,就成了Domain Model; UI需要使用时,就实现数据绑定接口,变成VO(View Object)。

 

四:POJO与PO、VO的区别
POJO是指简单java对象(Plain Old Java Objects、pure old java object 或者 plain ordinary java object)。
PO是指持久对象(persistant object持久对象)。
VO是指值对象或者View对象(Value Object、View Object)。注意,本文的VO特指View Object。
持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。比如说POJO是由new创建,由GC回收。但是持久对象是insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。另外持久对象往往只能存在一个数据库Connection之中,Connnection关闭以后,持久对象就不存在了,而POJO只要不被GC回收,总是存在的。
由于存在诸多差别,因此持久对象PO(Persistent Object)在代码上肯定和POJO不同,起码PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。而ORM追求的目标就是要PO在使用上尽量和POJO一致,对于程序员来说,他们可以把PO当做POJO来用,而感觉不到PO的存在。

 

五:POJO的扩展
POJO仅包含最简单的字段属性,没有多余的东西,它本质上就是一个普通的JavaBean。
但是在POJO的基础上,能够扩展出不同的对象。
为POJO增加了持久化的方法(Insert、Update、Delete……)之后,POJO就变成了PO。
为POJO增加了数据绑定功能之后,POJO就变成了View Object,即UI Model。
为POJO增加业务逻辑的方法(比如单据审核、转帐……)之后,POJO就变成了Domain Model。
POJO还可以当作DTO使用。

 

原文地址:http://hybblog.blog.163.com/blog/static/10982760020128279198211/

分享到:
评论

相关推荐

    java Pojo转Map

    在Java编程中,Pojo(Plain Old Java Object)是一种简单的对象模型,通常用于表示数据实体。Map接口则是Java集合框架的一部分,它提供了键值对的数据存储方式,方便数据的存取。将Pojo对象转换为Map,可以简化数据...

    oracle 数据表转成java pojo

    连oracle 数据库,将指定表转为java pojo 类 的 java demo

    JDBCTemplate+JavaPOJO实现通用DAO

    在这个"JDBCTemplate+JavaPOJO实现通用DAO"的项目中,我们将探讨如何利用这两者构建一个通用的DAO层。 首先,Java POJO(Plain Old Java Object)是指那些没有特殊约束的简单Java对象,通常用于表示数据库中的实体...

    数据表生成pojo

    在Java开发中,POJO(Plain Old Java Object)是一个简单的对象类,不包含任何特定框架的规范或约定,主要用于封装数据。"数据表生成POJO"这个主题涉及到将数据库中的表结构映射到Java世界中的类,使得我们可以方便...

    Java的几种对象(PO-VO-DAO-BO-POJO)解释

    ### Java的几种对象详解:PO-VO-DAO-BO-POJO #### 一、PO:Persistant Object(持久对象) 持久对象(Persistent Object,简称PO),主要用于与数据库中的表进行映射。一个简单的PO对象可以代表数据库表中的一条...

    java反射封装结果集内容到pojo

    当我们从数据库读出数据得到ResultSet或RowSet的时候,我们的做法是遍历结果集,然后封装到pojo里面,再封装到List,那么,每次封装是不是很麻烦呢,前段时间小弟看了下反射的东西,试着写了个类,目的在于方便封装...

    用pojo对象作birt的数据源

    本话题将详细讲解如何利用Java中的POJO(Plain Old Java Object)对象作为BIRT报告的数据源,从而实现更加灵活且高效的数据绑定。 首先,理解POJO的概念至关重要。POJO是一种简单的Java类,它不包含任何特殊的框架...

    POJO.rar_pojo_pojo java_swing_swing framework

    在Java编程领域,POJO(Plain Old Java Object)是一个通俗的术语,用来描述那些没有特殊要求,不依赖任何特定框架的简单Java对象。POJOs通常用于数据存储、传输或者作为业务逻辑层的对象,它们是Java应用程序中的...

    java小工具(批量产生代码,生成pojo,hibernate配置文件等)

    于是试着动手写了一个可以把数据库表自动写成pojo类,并且产生hibernate配置文件。虽然不是什么比较高级的程序,但是我希望也能对大家有一些帮助。不要吃我当时的闭门羹,算是给朋友们,提供一个思路吧。 备注:运行...

    hibernate生成的订单信息映射文件以及pojo类

    在这个场景中,我们讨论的是如何使用MyEclipse工具来生成Hibernate的映射文件以及对应的POJO(Plain Old Java Object)类,这些类是数据库表的Java表示形式。 首先,映射文件是Hibernate的核心组成部分,它是XML...

    基于Druid的SqlParser模块解析create table语句创建java POJO和DAO类的效率工具.zip

    本工具利用Druid的SqlParser模块,针对`CREATE TABLE`语句,能够自动化地生成对应的Java POJO(Plain Old Java Object)类和DAO(Data Access Object)类,极大地提高了开发效率。 首先,我们来了解Druid的Sql...

    pojo生成器

    标题中的“pojo生成器”指的是一个工具,用于自动生成Java类(POJO,Plain Old Java Object),这些类通常作为数据库表的模型对象,映射数据库中的数据。在Java开发中,POJO类是无特殊约束的普通Java对象,它们在...

    POJO javaBean EJB JNDI 理解及区别

    POJO,即“纯旧式Java对象”,它指的是最基础的Java类对象,没有任何框架约束,也不实现任何特定接口。POJO的主要特征是拥有私有属性和对应的getter/setter方法,用于封装数据,类似于数据传输对象(DTO)或值对象。...

    Swagger Spec 到 Java POJO.zip

    Swagger Parser 项目,它将 JSON 或 YAML 格式的 OpenAPI 定义解析为Java POJO 的swagger-core表示,并返回任何验证警告/错误。它还提供了一个简单的框架,可以将不同格式的附加转换器添加到 Swagger 对象中,从而...

    Axis2创建webservice服务的方式之POJO方式

    在IT行业中,创建Web服务是实现系统间交互和...这种灵活性和易用性使得Axis2成为Java开发者在构建Web服务时的首选工具之一。同时,了解和熟练掌握Axis2的POJO方式对于理解Web服务原理以及提升开发效率都有很大帮助。

    Mybatis生成pojo插件

    在开发过程中,经常需要手动创建POJO(Plain Old Java Object)类来作为数据表的Java对象表示,这是一项繁琐的工作。然而,通过"Mybatis pojo插件",我们可以极大地提高开发效率,自动根据数据库表结构生成对应的...

    POJO In action 代码

    《POJO In Action》是一本深入探讨Plain Old Java Object(POJO)概念和技术的书籍,其核心在于如何在Java开发中有效地使用简单、无框架依赖的对象。POJOs是Java编程中最基本的元素,它们代表了纯粹的面向对象设计,...

    Java中 PO VO BO DTO DAO 和 POJO 关系图

    Java中 PO VO BO DTO DAO 和 POJO 关系图

    利用jackson包进行json字符串与pojo类之间的转换源代码

    Jackson是Java领域内最流行的JSON处理库之一,它提供了强大的JSON解析、生成以及对象绑定功能。本篇将详细介绍如何利用Jackson包进行JSON字符串与POJO(Plain Old Java Object)类之间的转换,并探讨相关源码。 ...

    SSM笔记-POJO

    在SSM框架中,POJO(Plain Old Java Object)扮演着数据载体的角色,它代表了业务逻辑中的实体对象,如数据库表的映射对象。本笔记主要探讨了如何在SpringMVC中使用POJO来处理请求参数,以及SpringMVC如何自动将请求...

Global site tag (gtag.js) - Google Analytics