【IT168 专稿】在Spring 和 EJB 3.0 两种主流技术之间作出选择是非常艰难的。本文探讨了两者间的异同,并阐述了进行技术比较的关键环节。 如今的软件开发人员面临的各种技术选择令人眼花缭乱。涉及到具体项目案例时,很难说哪一种技术更优。在基于java平台的企业开发领域,针对Spring框架和EJB 3.0之间的辩论异常激烈。众说纷纭,莫衷一是。本文尽量从客观的视角比较两者的优劣。
一、简介
Spring 和 EJB 在概念上属于两个不同的范畴,Spring是一种技术实现,EJB则是技术规范。但两者确实存在交叉重叠,比如他们都提供了为java应用递送中间件服务的机制。Spring框架的推出正是针对EJB的,两者之间自然就存在着可比性。随着EJB最新版本3.0的发布,对于先前版本的缺欠做出了很大改进。那么Spring如何能持续地提供超越EJB的特性呢?
本文撷取了企业级应用开发环境内,Spring和EJB 3各自最重要的特性。文中以机票预定系统为案例阐述每个特性的要旨,涉及业务领域模型以及企业级应用开发中的并发控制、事务处理、消息处理、任务调度等范畴。
定义
在深入比较分析之前,先看一下Spring 和EJB各自声称要实现的是什么。在Spring的网站上,Spring被定义为“基于Java/J2EE分层应用框架”。而EJB则将自己定义为“分布式面向对象企业级应用的组件架构”。