11

我想尝试 EJB,我正在研究 EJB 3.0 背后的理论。我知道在 EJB 3.0 中您不必使用部署描述符,但可以使用注释,而且您不必编写HomeRemote接口。

EJB 2.0EJB 3.0在面向对象方面还有其他关键区别吗?

4

2 回答 2

22

EJB 2.0 和 3.0 之间的主要区别在理论上列出如下

  1. 在 EJB 3.0 中取消 home 接口使查找过程比在 EJB 2.0 中更简单。
  2. 注释的使用使 EJB 3.0 成为最新的技术,而 EJB 2.0 具有家庭和远程接口而不是注释。
  3. EJB 2.0 部署实体 bean 来访问数据库。EJB 3.0 具有用于访问数据的 Java Persistence API,该 API 用于解决可移植性问题。
  4. EJB 3.0 性能更好,因为它使用 POJO 和元数据注释,这是一个新的介绍。POJO 比 EJB 2.0 为引用对象而部署的 XMLDescriptor 和 JNDI 更快。EJB 2.0 没有实现 POJO。
  5. 在编写家庭和远程接口时,EJB 2.0 很繁重。EJB 3.0 对使用任何标准接口没有任何限制。它是一个配置良好且简单的 POJO,不需要执行 EJB 2.0 使用的容器回调方法,例如 ejbActive、ejbStore 等。
  6. 在 EJB 3.0 中,实体 bean 可以毫不费力地转换为 DAO,反之亦然。这在 EJB 2.0 中是不可能的。
    希望这可能会有所帮助
于 2014-07-15T11:26:09.697 回答
3

没错,这些是 EJB 2 和 3 之间的主要区别。通常,EJB 3 充分利用了像 Spring 这样的轻量级注入框架,并使 EJB 尽可能接近常规 POJO。

然而在 2013 年年中的今天,为什么要知道 EJB2 和 EJB3 的区别呢?EJB2 已过时。学习版本 3.x,忘记旧版本。现在学习 EJB 2 就像在学习汽车驾驶之前学习骑马一样,因为人们在汽车发明之前曾经使用马作为交通工具。

于 2013-05-19T14:21:25.727 回答