按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。...POJO的内在含义是指那些: 有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。...没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。...3、这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。 4、这个类应是可序列化的。实现serializable接口。 ...3、DAO DAO(data access objects) DAO是数据访问对象,DAO一般有接口和该接口的实现类,接口用于规范实现类。
一、POJO、EJB和事务 企业Java Bean(EJB)是一种可移植的Java EE组件,通常用于在企业应用程序中封装业务逻辑。...使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接....Java EE支持Transactions,通过控制对数据的并发访问来确保数据完整性,并确保失败的业务事务不会使系统处于不一致或无效状态。...接下来,我们把POJO转化为无状态的 EJB. 使用@Stateless注释标注ItemService类以将此POJO转换为EJB。 ?...将@EJB注释添加到ItemService声明中。 ? ? 接下来,启动EAP: ? 通过运行以下命令来构建和部署EJB到JBoss EAP: ? ? 查看EAP日志: ? ? 访问应用: ?
服务整合的代码(如,数据访问模板和帮助类)属于框架,并暴露于应用开发者。相反,EJB3.0框架与应用服务器高度整合,服务整合代码也包装在一个标准接口后面。...XML Vs.注解 从应用开发者的观点上来看,Spring的编程开发接口主要基于XML配置文件而EJB3.0广泛地应用Java注解。...这是一个在EJB3.0里同时应用事务和安全服务到POJO的例子。...例如,@EJB注释用来注入EJB的Stub,@PersistenceContext注解用来注入处理EJB3.0实体bean访问数据库的EntityManager对象。...object,最后从template object到应用的POJO。
二、对EJB的访问方式 EJB是一个包含在应用程序服务器上运行的业务逻辑的可移植组件。...如果客户端和EJB是同一应用程序的一部分,则客户端可以在本地访问EJB,如果EJB在远程运行,则客户端可以通过远程接口访问EJB。...使用@EJB注释访问本地EJB 假设已经定义了如下的EJB: @Stateless public class TodoBean { public void addTodo(TodoItem item...hello-remote-ejb项目在JBoss EAP中安装可远程访问的EJB,以便通过JNDI查找可用于外部客户端。...hello-remote-client项目是远程访问(从另一个JVM)EJB的Java SE应用程序。 首先,在JBDS中import已经存在的maven项目: ? ?
按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的Java对象”,但大家都使用“简单java对象”来称呼它。...另外,我们要给具有业务逻辑处理的规则的Java对象(regular java objects)起了一个名字——POJO,这些Java对象不是EntityBeans(EJB规范中专门用于封装数据库访问的一种组件...POJO里面是可以包含业务逻辑处理和持久化逻辑,也可以包含类似与JavaBean属性和对属性访问的set和get方法的。...简而言之,当一个POJO可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。(没毛病!)...因此,也可以通过嵌在JSP页面内的Java代码访问Bean及其属性。 4、什么是EJB 、Entity Bean?
Java EE中的对象大致有三类:POJO、JavaBean、EJB POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通...JSP通常访问的是后一种JavaBean。 企业Java Bean(EJB)是一种Java EE组件,通常用于在企业应用程序中封装业务逻辑。...当然,我们是可以将一个POJO转化为EJB的。具体的方法参照本文的实验三。...从消息队列获取消息: ? 八、实验三:POJO到EJB的转换 通过JBDS导入一个已经存在的maven项目: ? 查看源码:Item.java类。这个类在应用程序中建模一个todo项目。...接下来,我们把POJO转化为无状态的 EJB. 使用@Stateless注释标注ItemService类以将此POJO转换为EJB。 ?
Martin Fowler等人之所以提出POJO,是因为他们看到了使用POJO封装业务逻辑的益处,而在2000年那个时代,恰恰是EJB开始流行的时代,受到EJB规范的限制,Java开发人员更愿意使用Entity...当然,Entity Bean与EJB框架紧耦合的为人诟病,主要是针对EJB 3.0之前的版本,随着Spring与Hibernate等轻量级框架出来之后,EJB也开始向轻量级方向发展,通过大量使用标注来降低...这意味着框架使用Java Bean,看重的其实是该对象携带的数据,且能够减少不必要的访问代码。...这个术语来自Martin Fowler的创造,从贫血这个词可知,这样的一种领域模型必然是不健康的,它违背了面向对象设计的关键原则,即“数据与行为应该封装在一起”。...DAO DAO(Data Access Object,数据访问对象)作用在映射了关系表的PO之上对其进行持久化,实现对数据的访问。
按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。...POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 二:为什么会有POJO?...public class Bar implements javax.ejb.EntityBean { … 包含预定的标注,如 @javax.ejb.Entity public class Baz{...这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。 这个类应是可序列化的。...简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。...使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接....POJO类也给我们在struts框架中的配置带来了很大的方便。 实例 POJO有一些private的参数作为对象的属性。然后针对每个参数定义了get和set方法作为访问的接口。...Java Bean 是不能被跨进程访问的。...POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB,JDBC等等。
第二代JSP技术:JSP+EJB开发。 (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。) 第三代JSP技术:JSP+Servlet+POJO开发。...(**MVC框架) (POJO其实就是简单的JAVA类,也是简单的JavaBean(特殊的值对象封装)) 其实EJB—可理解成企业级的JavaBean(相对于简单的JavaBean增加了一些业务处理方法...(name); user.setAge(age); boolean boo = user.reg(); if(boo){ //访问后台...(M)开发的注册—MVC 这里把业务逻辑层从JavaBean分离开了!...user.setAge(age); boolean boo = service.reg(user); if(boo){ //访问后台
Hibernate和MyBatis ORM(Object Relation Mapping)的起源:传统的java应用都采用JDBC(Java DataBase Connectivity,java数据库连接)来访问数据库...最早的ORM技术是EJB(Enterprise JavaBean),EJB是java EE的核心,但是EJB操作仍然极其繁琐。...Hibernate是开源的ORM框架,它将普通的、传统的Java对象(POJO, Plain Old Java Object)映射成持久化类,应用程序可以用面向对象的方式来操作POJO,Hibernate...Hibernate会全自动的生产SQL语句,而MyBatis需要程序员自己编写具体的SQL,将大量的SQL语句从程序中剥离出来,配置在配置文件中,实现SQL的灵活配置。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。...使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接....POJO与javabean的区别 POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object...Java Bean 是不能被跨进程访问的。...POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象
在由领域模型往某种编程语言如Java上来实现的时候,绝对不会是1:1的对应关系,即使是粗颗粒度的EJB2模型都做不到,更不要说更加强调细颗粒度的POJO模型呢?...现在我们使用基于POJO模型的实现,那么粗颗粒度的EJB还要继续细分:一个Entity Bean要剥离出来至少三个以上的POJO,即一个或者多个实体类,一个或者多个DAO接口类,一个或者多个DAO接口实现类...POJO指的就是非EJB那种重量级,高侵入性的组件模型,关于POJO的定义,你同样可以在Martin Fowler的bliki上面找到。 Spring的Bean是不是POJO? 是的!...Hibernate的entity是不是POJO?是的! DAO接口是不是POJO?是的! EJB是不是POJO? 不是的!...从技术手段来上说,对于Spring/Hibernate架构,Martin的Rich domin model变得可行了
EJB的 annotations 在EJB3中所有的企业Bean都是POJO(Plan old Java object)和一些相关的描述符。...当一个实体POJO类和EntityManager建立关系后,这个类就是可以实例化的类了,同时就时实例化上下文的一个部分。 ...Ejb 3.0 by tcf"; } } 对上面代码的一点解释: 前面提到过EJB3.0中的各种Bean就是一个POJO,只需要加上相关的annotation就可以了。 ...基于开源项目的系统框架总结笔记(1) JBoss EJB 3.0 Preview Release Simplifying EJB development with EJB 3.0 JBOSS...CMP EJB 开发心得
POJO实质上可以理解 为简单的实体类 ,顾名思义POJO类的作用是 方便程序员使用数据库中的数据表 ,对于广大的程序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set...POJO类也给我们在struts框架中的配置带来了很大的方便。 实例 POJO有一些private的 参数作为对象的属性。然后针对每个 参数定义了get和set方法作为访问的接口。...Java Bean 是不能被跨进程访问的。...POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象...POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如, EJB, JDBC等等。
同时,EJB container还提供了对后端数据库的访问功能等。 三、前端框架 截至到目前,我们搞清楚了web server、web container、EJB container。...如果数据存到数据库中,需要通过EJB container做OR Mapping,将Entity实例化,以便应用访问数据。 这里,我举个例子。...ItemService.java类,它是一个简单的POJO类,它通过CDI方式引用ItemRepository.java类。...接下来,我们先把POJO转化为无状态的 EJB. 使用@Stateless注释标注ItemService类以将此POJO转换为EJB。 ?...通过运行以下命令来构建和部署EJB到JBoss EAP: ? ? 查看EAP日志: ? ? 访问应用: ? 我们添加条目,然后观察日志: ? ? 查坎EAP日志: ?
我在做J2EE培训中发现我的很多学生问我什么是POJO,后来我在写书(《Spring2初学者实践教材》和《Spring2初学者实践教材》)的时候发现POJO这个概念无法回避。...所以下面的代码被认为是POJO了。...基本的意思是我们要给具有业务逻辑处理的规则的Java对象(regular java objects)起了一个名字——POJO,这些Java对象不是EntityBeans(EJB的一种)。...我觉得上面的解释很准确,POJO应该不是我们开始认为的JavaBean,当然更不是EJB,它不应该依赖于框架即继承或实现某些框架类或接口。...POJO里面是可以包含业务逻辑处理和持久化逻辑,也可以包含类似与JavaBean属性和对属性访问的set和get方法的。
POJO & Java Bean i) 什么是 POJO POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称...Java Bean 是不能被跨进程访问的。...POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象...该方案相当于定义了public的set方法,但是因为没有真正的set方法,从而不会为了实现依赖注入导致暴露了不该暴露的接口(因为set方法只想让容器访问来注入而并不希望其他依赖此类的对象访问)。...所以要使用 Bean,我们就先要知道 Bean 的上下文信息包含在哪一个文件中,然后从改文件中获取 Bean 的上下文信息。再然后就是从上下文中获取我们需要的 Bean。
最初SUN公司推出了JavaEE服务器端组件模型(EJB),但是由于EJB配置复杂,且适用范围较小,于是很快就被淘汰了。与EJB的失败伴随而来的是另外一个框架的应运而生。...Hibernate(适用于场景不太复杂,要求性能不苛刻) Hibernate是建立在POJO和数据库模型的直接映射关系上的。 ...Hibernate是建立在若干POJO通过XML映射文件(或注解)提供的规则映射到数据库表上。换句话说,我们可以通过POJO直接操作数据库的数据。它提供的是一种全表映射的模型。...Hibernate的XML文件描述的是POJO和数据库表的映射关系。Hibernate通过配置文件(或注解)就可以把数据库的数据直接映射到POJO上,我们可以通过操作POJP做操作数据库记录。...MyBatis(灵活的、可以动态生成映射关系的框架) MyBatis是一个半自动映射的框架,它需要手工匹配提供POJO,SQL和映射关系,而全表映射的Hibernate只需要提供POJO和映射关系便可
DAO(Data Access Objects) 数据访问对象接口 DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。...J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开。实现DAO模式能够更加专注于编写数据访问代码。 DAO模式是标准的J2EE设计模式之一。...具体的DAO类包含了从特定的数据源访问数据的逻辑。 BO(Business Object)—业务对象层 表示应用程序领域内“事物”的所有实体类。...POJO(Plain Old Java Objects) 简单的Java对象 实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来,而且简称比较直接。...DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。 有必要用吗? 项目中真的有必要定义VO,BO,PO,DO,DTO吗?
领取专属 10元无门槛券
手把手带您无忧上云