我已经读过很多次 EJB 是重量级的……但昨晚我正在阅读有关 EJB 的 Java EE 6 教程,它们似乎只是普通的 Java 对象,除了它们可以有 Stateless 或 Singletons 之类的注释。除了它们包含在(诚然非常基本的)教程中的功能之外,它们非常标准,就像 MVC 应用程序中的模型类一样。
- 那么为什么会遇到对 EJB 非常消极的态度呢?
- 为什么我看到它说绝大多数网络应用程序都不需要它们?
- 是什么让他们“重量级”?
EJB bean 是重量级的有几个原因。
第一个是罗德约翰逊的言辞。对于采用 Spring 的人们来说,重要的是 Rod 传播 EJB 是重量级的思想(Spring 因此自动轻量级)。Springsource 是一个商业组织,Rod 是一个聪明的商人。使用 Spring 的人越多,最终从 SpringSource 购买支持合同的比例就越大。
第二个来源是 Spring 狂热者,他们从未尝试过 EJB,但总是从 Rod 和其他狂热者那里听说 EJB 是重量级的。他们只是在模仿他们听过的歌曲。
第三个来源是 2004 年及之前被 EJB 2 烧毁的人。这个版本的 EJB 确实是重量级的。那时人们背弃了 EJB,从未回头,完全没有注意到 EJB 3 的出现,正如您所观察到的那样,这是一种非常轻量级且易于使用的技术。