面向对象方法课留了个作业,使用EJB实现一个简单的东东,从而更深刻的体会EJB组件。
虽然J2EE学了不少,但正统的EJB一直没有怎么看。今天大体看了看EJB3.0,感觉
EJB3.0在易用方面的确有很大的改进。曾经以极高的复杂性的EJB,现在和Spring、Hibernate
这些轻量级的解决方案相比已经差不了哪去了,EJB在轻量化,所有的Bean都可以是POJO的,只
需要使用注解表明是Entity bean,Stateless/Stateful Session bean,Message-driven bean,
Remote/Local接口,不需要实现特定的接口。Java Persistence已经从EJB中分离出来,作为一
个独立的标准JPA,而Hibernate是JPA的一个实现。这样Entity bean成为了可以脱离容器的普通
的POJO,JPA像JDBC那样可以在普通的应用程序的持久化中被使用。
EJB容器提供的基础性服务(声明性事物管理、安全、并发控制、JNDI等),使得受管的Bean受益于
这些服务的同时,这些Bean可以脱离容器而被测试,这在测试先行,敏捷开发流行的时代,尤为重要。
EJB的资源管理为Bean进行了实例池化,这点感觉要比Spring依靠依赖注入的单例、原型等创建bean
相比具有更高的效率,像Stateless Session Bean、Message-Driven Bean都有若干个实例保存在池中,
可以同时相应多个请求,响应后在放入池中。而Stateful Session Bean则提供了钝化和激活操作,可
以在会话结束后钝化,将其状态保存在磁盘中,而在再次使用时,创建一个新的实例,将保存的状态拷
贝在这个新的实例中。这要比Spring简单的单例和原型要高效一些,当然随着JVM效率的提高,似乎对象
创建已经不太被看作是效率问题,像Web层的框架的应用控制器(Action)趋势是从单例到原型方式演进,
线程安全似乎更被重视。当然厂商对EJB容器的优化与直接Spring相比带来的优势是显然的。
EJB与这些轻量级框架相比最大的优势是透明的分布式对象,这对于需要分布式的应用来说是最大的亮
点。分布式对象可以分布在不同的服务器上,从而使得应用程序具有很好的伸缩性。提供JDNI来查找定位
服务,虽然JDNI的lookup方式的定位服务没有依赖注入方式先进,但JDNI可以提供跨网络的服务定位。
总体感觉EJB3和Spring等轻量级的解决方案相比,已经没有那么复杂的,EJB在轻量化,变得更易
用。Seam是个使用EJB3.0组合JSF的一站式的开发框架,整个的理念还很先进,不过入门门槛比较高。
对于使用EJB3来说Seam是个不错的选择。
分享到:
相关推荐
ejb3中文版
EJB3的三本好书第二本,最好的介绍ejb3的书,看过之后,其他的书都送人了,而且附带的源代码,几乎包括了所有的主流应用服务器的例子,glassfish, jboss, weblogic, oracleAS 3本书分别是: 1. Beginning EJB3 ...
EJB3的三本好书之三,也很不错的一本ejb3的书籍,是英文版,附带源代码,这本书的好处是与Mastering EJB 3ed有一定的继承性,可以对比来看. 3本书的地址 1. Beginning EJB3 Application Development From Novice to ...
EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)
Mastering+EJB3 EJB3+IN+ACTION Beginning+EJB3+Application+Development
EJB3开发Entity EJB3开发Entity
EJB3入门例子,jboss5+EJB3+myEclipse
EJB3的三本好书第一本,从glassfish的角度全面介绍EJB3 3本书分别是: 1. Beginning EJB3 Application Development From Novice to Professional联接http://download.csdn.net/source/1865607 2. EJB3 in Action 2007...
本书是公认的EJB 3权威著作,详细介绍了使用EJB 3进行企业级开发的方方面面,包括EJB 3基础、使用EJB 3构造业务逻辑、Java持久化API、EJB 3的实际应用、移植性和互操作性等等。
手把手教你如何用ejb3开发。简单易学。
EJB3基础教程(PDF文档)
ejb3_structs ejb and jboss
自己总结的EJB3上课教案,包括SessionBean、EntityBean、MDB、O/R映射与继承映射、持久化实体管理器、EJB3-QL、JTA等的教案.
EJB3教程 EJB3教程 EJB3教程 EJB3教程
(8):JBoss EJB3(HelloWorld)备忘记 15 摘要: 15 备忘记开始: 16 [1] 安装 jdk 5: 16 [2] 安装 JBoss EJB3: 16 [3] 第一次启动 JBoss: 18 [4] 安装 Eclipse WTP: 18 [5] 安装 JBoss IDE: 18 [6] 使用 ...
JBOSS7+EJB3,service部署到JBOSS
EJB2和EJB3的架构异同?详细讲解 EJB编程模型的简化 JPA替代实体Bean 拦截器概念
工作之余亲自对ejb3进行相应功能的测试 其中包括基本的客户端与服务器分离式测试(分成两个单独的项目进行测试)sessionBean测试、entityBean测试、messageDriverBean测试,服务器采用jboss4,客户端可以放在tomcat...
实战、实战、EJB、EJB、EJB 3、EJB 3
EJB3实战的源代码,EJB3实战的源代码,EJB3实战的源代码,请有心人使用