spring vs ejb3 - beans 注入有何不同?

spring vs ejb3 - what is different in beans injection?

在 spring 中我可以注入我自己的 bean,而在 ejb3 中我只能注入 ejb3 bean 是否正确?如果是这样,ejb3 如何替代 Spring?

在JavaEE环境中,不仅可以使用EJB,还可以使用CDI。 见 How do CDI and EJB compare? interact?

除了您可以使用 CDI 注入不同类型的 bean 之外,"ejb3" bean 是什么意思?这些 bean 怎么像 spring 那样不是您的? Spring 注入任何类型的 bean,您可以通过在 XML 中声明它(旧方法)或通过指定注释(@Component、@Service 等)来实现。 EJB3 也是如此(你可以使用@Stateless 而不是@Service,只是为了打个比方)。 因此,在 JEE 环境中,一个可以被另一个替换(从这个角度来看,Spring 有一些优势,因为它为快速开发奠定了基础,在 JEE 规范之上提供了额外的帮助程序、库、框架——参见Spring 一个数据 JPA)。 因此,我认为这取决于您如何设计应用程序以使用其中一种。