Spring框架的发起者之前一本很著名的书名字大概是《J2ee Development without EJB》,他提倡用轻量级的组件代替重量级的EJB。其中有一点分析觉得是很有道理的:
EJB里在服务器端有Web Container和EJB Container,从前的观点是各层之间应该在物理上隔离,Web Container处理视图功能、在EJB Container中处理业务逻辑功能、然后也是EBJ Container控制数据库持久化。这样的层次是很清晰,但是一个很严重的问题是Web Container和EJB Container毕竟是两个不同的容器,它们之间要通信就得用的是RMI机制和JNDI服务,同样都在服务端,却物理上隔离,而且每次业务请求都要远程调用,有没有必要呢?看来并非隔离都是好的。
再看看轻量级和重量级的区别,笔者看过很多种说法,觉得最有道理的是轻量级代表是POJO + IoC,重量级的代表是Container + Factory。(EJB2.0是典型的重量级组件的技术)我们尽量使用轻量级的Pojo很好理解,意义就在于兼容性和可适应性,移植不需要改变原来的代码。而Ioc与Factory比起来,Ioc的优点是更大的灵活性,通过配置可以控制很多注入的细节,而Factory模式,行为是相对比较封闭固定的,生产一个对象就必须接受它全部的特点,不管是否需要。其实轻量级和重量级都是相对的概念,使用资源更少、运行负载更小的自然就算轻量。
分享到:
相关推荐
我自己做的第一个文档
java反射与EJBjava反射与EJBjava反射与EJBjava反射与EJBjava反射与EJBjava反射与EJB
与经典的基于EJB核心的Java EE应用相比,基于SSH2的轻量级Java EE应用简化了经典的Java EE应用的难度,在保留经典Java EE应用架构、高度可扩展性、高度可维护性的基础上,降低了Java EE应用的开发、部署成本,具备了...
企业级javabean EJB开发组件 EJB下载
实战EJB 实战EJB 实战EJB 电子书 pdf
EJB方面EJB方面EJB方面EJB方面EJB方面
ejb2.0 ejb3.0的区别,比较详细讲解两者的区别
Hibernate与EJB集成 Hibernate与EJB集成
当然,轻量级J2EE 应用是 经典J2EE 应用的简化,在保留经典J2EE 应用的架构、良好的可扩展性、可维护性的 础上,简化了J2EE 应用的开发,降低了J2EE 应用的部署成本。 轻量级J2EE 应用让J2EE 平台以更快的速度占领...
当然,轻量级J2EE 应用是 经典J2EE 应用的简化,在保留经典J2EE 应用的架构、良好的可扩展性、可维护性的 础上,简化了J2EE 应用的开发,降低了J2EE 应用的部署成本。 轻量级J2EE 应用让J2EE 平台以更快的速度占领...
EJB3.0与EJB2.0的区别 本文从实战角度比较EJB2和EJB3的异同,通过深入剖析揭示EJB3.0的真相,EJB3.0真是带来简化?还是一种表象上的简化?EJB3.0真的变得轻量了,还是披着羊皮的狼?
EJB集群资料EJB集群资料EJB集群资料EJB集群资料
《EJB 2.0企业级应用程序开发 》
本书主要内容包括:构建EJB类及其接口的机制,EJB设计和性能的策略,构建Web层,EJB的高级概念等。附录包括了EJB 2.0的摘要及其新特征。本书内容翔实、深入浅出,提供了详细的讨论和实例,对于懂Java语言的EJB初学者...
EJB与事务-详细描述EJB和事务,是javaEE初学者的好材料
Java EJB 3.0实例教程——企业应用开发核心技术 PDF,网上有关EJB方面的教程...章节内容丰富,内容涉及环境配置、EJB包相关知识、会话BEAN、消息驱动、实体Bean、使用EJB3.0构建轻量级应用框架、Web应用等众多内容……
本人闲来研究了EJB的技术。编写了Ejb技术的所有实例bean,供有兴趣学习Ejb技术的初学者提供参考。包括的实例有:session bean的 statuless bean,statuful bean,entity bean的 BMP bean,CMP bean,messageDriver bean...
ejb-3_0-fr-spec-ejbcore.pdf ejb-3_0-fr-spec-persistence.pdf ejb-3_0-fr-spec-simplified.pdf
spring与ejb.pdf 详细讲述spring 与ejb
EJB与Hibernate的整合简述 (就是EJB与Hibernate的集成的那个重新发布的,因为不能重复上传,所以只能这样改个名字了)