如何为JAX-RS资源注入自定义(非bean)值?

时间:2014-12-16 13:13:30

标签: jax-rs cdi

使用以下JAX-RS资源类

@Path("/myresource")
class MyResource {

    @GET
    public Response readSomeValue() {
        // ...
    }

    @Inject
    private int someValue;
}

我如何注射someValue

我在Apache Tomcat上使用Spring org.glassfish.jersey.bundles:jaxrs-ri。没有EJB。

到目前为止,我发现了这一点。

/**
 * Is this gonna work?
 */
class SomeValueProducer {

    @Produces
    public int produceSomeValue() {
        /// ...
    }
}
  1. 这是唯一的方法吗?使用@Procudes
  2. 我可以在哪里放置生产者类?就在资源类旁边?
  3. 我需要beans.xml吗?
  4. 我是否需要限定符注释?
  5. 感谢。

1 个答案:

答案 0 :(得分:1)

  1. 这是唯一的方法吗?使用@Procudes?
  2. 我可以在哪里放置生产者类?就在资源类旁边?
    • 无关紧要,如果配置正确,应该从框架中扫描每个具有有效beans.xml的jar:包括项目中的每个包。
  3. 我需要beans.xml吗?
  4. 我是否需要限定符注释?
    • 是的,没有限定符,每个返回int值的方法都是注入的可能来源。