我想我是在问这个问题,但对于 Jersey 1.x: Dependency injection with Jersey 2.0
我正在使用 Glassfish 3、CDI 和 Jersey 1.x。我有一个@WebService
正在注入这样的类:
@Inject
Foo foo;
我已经在 中对此进行了测试,@WebService
并且可以正常工作。但是我的 Jersey 资源中的同一行代码在尝试使用foo
. 我认为 Jersey 1.x 忽略了 CDI 注释。我怎样才能让依赖注入像我的一样工作@WebService
?
Foo
是一个 pojo,我的 web.xml 正在使用 ServletContainer:
<servlet>
<servlet-name>JerseyServlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
我在这里找到了一些帮助。问题是我Foo
@Inject
自己的bean(它们实际上是来自其中的类的EJB @Provides
)。 resourceContext.getResource(Foo.class);
返回 的实例Foo
,但foo
的@Inject
ed 字段为空。