gpt4 book ai didi

java - 为什么Spring Bean能够在Tomcat Servlet容器中运行而EJB却不能?

转载 作者:行者123 更新时间:2023-11-30 01:53:00 27 4
gpt4 key购买 nike

很多网络资源都说Spring Bean类似于EJB。 Spring bean也作为EJB可以通过@Component、@Bean和@Service定义逻辑。

但是 EJB 不能在 Tomcat 等 servlet 容器中运行。

EJB 和 Spring Bean 之间的主要区别是什么?

最佳答案

这并不是说 Spring bean 和 EJB 之间的区别是什么,而是前面提到的如何管理

普通 EJBean 或 Spring beans 本身没有任何特殊的魔力或功能。相关功能是在bean运行的环境中实现的。

当你在 Tomcat 中运行 Spring 应用程序时,你实际上运行了 Spring 框架中的一堆东西,这些东西使 Spring bean 工作,因此不仅是 bean,还有许多其他代码,这些代码也使服务和组件等的 Autowiring 发生。

但是,当您使用 EJB 实现 JavaEE 时,您部署的所有内容仅包含业务代码和 bean,而不是像 Spring 那样包含管理逻辑的内容。

因此,EJB/JavaEE 您需要单独管理这些内容,这就是为什么普通 Tomcat 对于 EJB 来说是不够的。您需要一个 J2EE 容器,在其中运行 EJB,例如 - TomEE这是具有 OpenEJB 和 Tomcat 的扩展,或者查看 Certified referencing runtimes 的列表(大约在维基页面中间的链接后面)。

另请参阅thisthis或多或少相关。

关于java - 为什么Spring Bean能够在Tomcat Servlet容器中运行而EJB却不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55414218/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com