春季和javax.enterprise.ight之间的关系是什么?
-
24-10-2019 - |
题
我正在阅读有关Java EE应用程序服务器的Wikipedia文章:
http://en.wikipedia.org/wiki/java_platform,_enterprise_edition#java_ee_ee_5_certified
它说Java App Services实施的2个API是:
javax.enterprise.inject
javax.enterprise.context
这些都与应用程序上下文和依赖注入JSR-299有关。我以前从未听说过这些API。春季会实现这些API吗?如果他们这样做,对任何人都重要吗?
解决方案
- JSR-330定义了一组注释(
javax.inject
)将在不同的依赖注入框架中使用。该规范由罗德·约翰逊(Rod Johnson)(来自春季)和(Google Guice)的鲍勃·利(Bob Lea)领导 - (部分)由于规格线索,Spring和Guice支持这套注释
这是春季使用的Javaee的一部分。
JSR-299使用了同一组,该套件由JBOSS的Gavin King领导。但是,JSR-299(也称为CDI)使用 javax.enterprise.inejct/context
并且是一个全新的依赖性注入框架。它基于春季,guice和缝的想法,但被正式指定为JSR,旨在涵盖许多角案件以及与其他Javaee零件的平稳集成。
JSR-299既定义了API和SPI,因此可以开发具体的实现。当前的实现是 JBOSS WELD, Apache OpenWebBeans 和 树脂念珠菌.
因此,要回答您的问题 - 之间没有直接关系 javax.enterprise.inject
和春天。
其他提示
春季确实支持JSR -330的@inject-可以代替@Autowired(除了没有一个 required
财产)。
您还需要在类路径上使用JSR 330罐子。
不隶属于 StackOverflow