首页 / 软件开发 / JAVA / 检验EJB 3.0 简化API规范
检验EJB 3.0 简化API规范2011-01-28 IBM Roland BarciaJava™ Community Process(JCP)发布了 JSR 220 下 Enterprise JavaBeans™ (EJB) 3.0 规范的早期第二版草案,它分为三个文件:EJB 3.0 简化 API:定义了新型的用于代码 Enterprise JavaBean Components 的简化 API ,尤其是会话 bean 和消息驱动 bean。Enterprise JavaBeans 核心契约和需求:定义了 Bean 和 EJB 容器之间的 EJB 契约。持久性 API:定义了用于持久性的新实体 Bean 模型。在本栏中,我觉得我应该突出 EJB 3.0 简化 API 中的一些特性,并且评论一下能够做一些改进的地方。因为我只提出和讨论简化 API,因此当谈到 EJB 组件的时候,我将涉及到会话 bean 和消息驱动 bean,而不是实体 bean,因为在简化 API 下,没有包含持久性。EJB 规范有很多目标,其中大部分目标我不会涉及到,但是简而言之:EJB 3.0 规范包括了 J2EE™ 5.0 规范的全部目标,其目的是要简化 J2EE 编程模型。正因如此,这部分规范与其说是一套功能性增强技术,还不如说是对原来规范的修改。然而,规范中仍然有许多新编程模型为开发者添加的技术,并且我会像查看某个特性一样谈论它们。本文假定您已经了解了当前 EJB 规范的一些知识。POJO 和注解"POJO" (传统的 Java 对象)是一个最近在很多领域不再使用的术语。它涉及到作为普通 Java 类来编写的代码。因为 EJB 编程可以使您扩展特定的类,可以提供几个接口,并且可以编写部署描述符,所以它们被视为重载的 Java 对象而不再属于普通类。相反,开发者必须要有 J2EE 容器来运行和测试它们。我承认,不使用工具对 POJO 进行编码使得开发很困难。在 EJB 3.0 规范中:EJB 组件不再需要本地接口。除此之外,EJB 组件没有必要再提供不同的接口或者扩展一些明确的 EJB 特定类别。J2SE 5.0 注解现在是用于实现组件的一种主要的代理。通过详细说明这些特殊的注解,开发者可以创建 EJB 组件的 POJO 类。该类将通过注解处理器得以运行,并且潜在的容器将会提供管道。EJB 3.0 引入了业务接口的概念。以下显示了一个实例:public interface Stock
{
public double getQuote(String symbol);
}Your Bean class can implement the interface:@Stateless public class StockBean implements Stock
public double getQuote(String symbol)
{
return 100.33;
}
}以上的@无状态注解,意味着此类现在是一个无状态会话 bean,将使用业务接口来调用它。早期的草案中允许存在从 Bean 类产生业务接口的可能性。无需实现特定的接口和注解就可以对无状态会话 Bean 进行编码。以下显示了一个实例:@Stateless public class StockBean
public double getQuote(String symbol)
{
return 100.33;
}
}