13

将春豆注入 Jersey 2 的最佳方法是什么?泽西岛似乎本身不支持这一点。

将这两个框架连接在一起需要什么?在 pom.xml 和 web.xml 中?

4

3 回答 3

15

Jersey 2.3 现在有 spring 支持:

https://jersey.github.io/documentation/latest/user-guide.html#spring

如文档中所述

Spring扩展模块配置基于注解

所以你必须告诉 spring 扫描你的类路径,例如:

<context:component-scan base-package="my.package.to.resources">

并使用弹簧注释来注释您的资源类(我建议使用@Component,然后指定球衣资源范围 @Singleton/@PerLookup/@RequestScoped )

@Component
@Singleton
@Path("example")
public class Example {

    //Spring beans can't be injected directly into JAX-RS classes by using Spring XML configuration
    @Autowired
    private MyOtherBean myOtherBean;

    @GET @Path("hello")
    public String hello() {
        return myOtherBean.hello();
    }
}
于 2013-10-12T15:07:48.543 回答
11

截至 2013 年 6 月,Jersey 2.0 没有官方的 Spring 支持。有两种选择:

  1. 从这里使用第三方代码https://github.com/marko-asplund/jersey/tree/master/ext/jersey-spring
  2. 等到 HK2 spring bridge 稳定并记录在案https://java.net/jira/browse/HK2-40

也可以看看:

http://jersey.576304.n2.nabble.com/Spring-framework-support-for-Jersey-2-td7580673.html

编辑:Jersey 2.3 现在有弹簧支持,请参阅下面 Fabio 的回答

于 2013-07-10T17:53:30.617 回答
-7

您应该能够注释球衣组件,然后使用注释来注入 bean。

@Service //(or @Component)
public class MyJerseyService {

    @Autowired
    private MyObj mySpringBean

}
于 2013-01-31T13:58:45.517 回答