这可能是一个愚蠢的问题,但我对它感到困惑,我无法在任何地方找到任何明确的解释。
HK2是一个实现JS330的依赖注入框架, Glassfish V3和V4的基础。据我所知,泽西岛使用它
Weld是CDI的参考实现,它也是一个依赖注入框架,也可以在Glassfish中使用?
所以我的问题是这些
我理解这些问题源于我对Java EE整个生态系统的微薄理解,但我们将非常感谢任何答案
答案 0 :(得分:18)
JSR330处理依赖注入。实现是例如Guice,HK2和Spring。 Weld确实实现了JSR330,但是通过实现JSR299,指定模块,拦截器,自定义范围等方面更进了一步......请参阅this article进行简短比较。
Java EE结合了多个规范,不仅包括注入,还包括持久性,安全性,Web服务,服务器面......,因此需要应用服务器,如glassfish或jboss,而(C)DI可以轻松地与标准Web容器一起使用( jetty,tomcat)甚至是独立的应用程序。