是否存在使用Java依赖注入的“标准”方法 - 特别是使用JAXRS Jersey

时间:2013-03-29 22:36:03

标签: java-ee dependency-injection jersey jax-rs cdi

我有一些服务,我想从使用工厂改为使用依赖注入框架。

使用Java 6+是否有一种“标准”方式可以在不使用第三方库的情况下实现这一目标? CDI(上下文和依赖注入)是否适用于这种情况?

例子会很棒!我已经开始使用Guice,它“似乎”很简单,但它目前导致了问题,因此我正在寻找其他选择。

2 个答案:

答案 0 :(得分:1)

DI和CDI是在Java标准JSR299和JSR330中定义的。任何支持这些标准的DI框架都可以。对于CDI来说,这将是Weld-SE,对于DI,你可以坚持使用guice,为我服务。

答案 1 :(得分:0)

你的问题有点广泛。当你说“Java 6+”时,我希望你的意思是JavaEE 6;因为Java SE 6不提供没有第三方库的本机DI。

在Java EE空间中,@ManagedBean注释应该作为所有DI需求的标准。任何使用@ManagedBean注释的内容(来自javax.annotation.ManagedBean都是符合条件的注射目标,也有资格注入其他豆类。

例如,JAX-RS类本身不是合格的注入目标。向其添加@ManagedBean使其有资格注入EJB,资源和其他上下文好东西