【问题标题】:Inject Spring beans into RestEasy将 Spring bean 注入 RestEasy
【发布时间】:2012-02-19 01:07:54
【问题描述】:

是否可以将 Spring bean 注入 RestEasy @Path 类?我设法用 Jersey 和 @InjectParam 注释来做到这一点,但由于某些其他原因,我需要切换到 RestEasy,而且我似乎无法找到一种方法来做到这一点(尝试了很好的 javax.inject.Inject,但什么都没有)。

编辑

此解决方案有效: http://www.mkyong.com/webservices/jax-rs/resteasy-spring-integration-example/

但这不是注入。我还是更喜欢优雅一点的东西。

【问题讨论】:

    标签: java spring jax-rs resteasy inject


    【解决方案1】:

    有一个将 RestEasy 与 Spring 集成的工作示例,只需尝试 spring-resteasy

    【讨论】:

      【解决方案2】:

      我完全同意 Peter 的回答,但还有另一种方法:让所有的 exposition bean(RESTEasy 或 JAX-WS,它们不是 Spring 组件)扩展 SpringBeanAutowiringSupport

      这样你就可以通过@Autowired注解在这些类中轻松地注入你的Spring服务。

      【讨论】:

        【解决方案3】:

        只需使用 Spring 的 @Component 注释您的 RestEasy 类,然后使用 Spring 的 @Autowired 注入您的 bean。不要忘记在你的 spring 配置中包含 annotation-config 和 component-scan 元素。

        【讨论】:

        • 用 3.0.4.Final 试过,在 ResteasyDoc 之后它根本不起作用。使用 SpringBeanAutowiringSupport 是我让它工作的唯一方法。
        【解决方案4】:

        您可以使用@Configurable 注释将普通类(由new 创建)创建为spring Bean。 然后,您可以使用普通的 Spring 注释来注入该类/实例中的所有内容,就像在“普通”Spring Bean 中一样。

        但这需要 AspectJ!

        @见Spring Reference Chapter 7.8.1 Using AspectJ to dependency inject domain objects with Spring

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-29
          • 1970-01-01
          • 2023-04-09
          • 2011-09-09
          • 2013-06-25
          相关资源
          最近更新 更多