我正在阅读有关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罐子。

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html.html#beans-autowired-annotation

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top