为什么会突然要看看EJB这个老古董?
前段时间准备再看看Spring的东西,当然就免不了要看一下Spring作者那本导致Spring模型的大作。其中说到Spring是在批判EJB的背景下产生的。所以,就得看看EJB这玩意儿到底搞了什么东西,粗略浏览了下目录,哗!EJB2太复杂了,算了,先从后面简化过了的EJB3看起吧,完了再反过来看看2是个什么样子。这回答真够曲折的,都快忘了当初的想法了,
前后大概一个多月时间,现将学习后的要点汇总如下:
EJB作为J2EE中业务层、持久层的框架,其特点有3:
1.通过JNDI对业务层、持久层解耦合。
2.对业务层的代码提供了系统级的服务。
3.支持分布式应用。这是其最大特点,也是造成最后失败局面的最大原因。
EJB2实体Bean定义和控制复杂、繁琐。轻量级的ORMappin框架比它好很多。
经过实践证明,不应该在业务层维护会话状态,而应该在表现层。
EJB最有价值的东西是其服务理念,减轻了程序员编程负担,事务、安全等系统级需要考虑的东西由容器提供。
这里得说一下JNDI这个东西,记得板桥里人以前说过,大概意思是“不懂JNDI,JavaEE最学了一半”。这个理念从最初学Java就碰到了,就是在获取数据库连接时,一般采用从DataSource中获取Connection,当时也没深究,知道这么个语法要求就完了。现在发现在EJB里面,各个组件之间的访问都是通过JNDI来搞得,目的只有一个“解耦合”。
RMI:EJB2里面一次客户端访问远程Session Bean会走两次RMI调用(一次是通过Home接口的工厂方法获取远程接口,一次是通过远程接口访问实际调用的业务方法),EJB3里面简化成了一次(Home接口调用没了)。原理上说EJB正是通过RMI来实现分布式的。但从实际情况来看,更多情况用的是本地接口,即在一个JVM中直接调用对象。
总结:这个当年的庞然大物,在后来Spring、Hibernate等轻量级框架的冲击之下早就失去了吸引力,EJB3确实轻多了,实体Bean的概念与2完全不同,接受Hibernate的诸多理念。但市场早没了。
相关推荐
EJB学习源代码,SessionBean,DriverBean,EntityBean,onetonone,onetomany等等
里面是搜集的EJB学习资料,有《Jboss EJB3.0实例教程》和《EJB3.0实例教程》两本pdf书籍,以及两本外文pdf书籍及源码,分别为ejb-3_0-fr-spec-persistence.pdf和ejb-3_0-fr-spec-simplified.pdf,以及EJB课堂笔记....
EJB基础学习EJB者必看里面详细记录了EJB技术等
EJB入门学习,很有价值的哦!不可错过
ejb学习文档.chmejb学习文档.chmejb学习文档.chmejb学习文档.chm
EJB3.0学习心得 EJB3.0学习心得 EJB3.0学习心得
EJB学习!EJB学习!EJB学习!EJB学习
介绍中间件的相关知识及目前较流行的ejb技术,对系统分析师考试论文的写作很有帮助。
Weblogic EJB 学习笔记 ejb 基础知识 EJB 组成 EJB 配置描述器 建立ejb 档案文件 容器管理的事务 ejb 引用
比较实用的东西,具体介绍了Weblogic Ejb的使用
压缩包中包含:EJB3.0实例教程 JPA教程 实战EJB三本电子书,都是不错的学习资料。
EJB学习笔记 自己的学习心得
NULL 博文链接:https://longhuang.iteye.com/blog/657123
EJB学习资料,讲解EJB的三大bean的使用
这是我所学习EJB的PPT,可能会对您有所帮忙,如感觉无用请不要骂我啊 ~~~~
在学习ejb时做了一个小例子,有一些实体bean和sessionbean的实现,和一个简单的前台交互
经典资料+个人心得,希望大家能喜欢
EJB学习笔记2,希望大家多多进步
EJB学习笔记.doc