13

ジャージー2に春の豆を注入できるようにするための最良の方法は何ですか?ジャージーはこれをネイティブにサポートしていないようです。

2つのフレームワークを相互に接続するには何が必要ですか?pom.xmlとweb.xmlでは?

4

3 に答える 3

15

Jersey 2.3 には、春のサポートが追加されました。

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 サポートがありません。次の 2 つのオプションがあります。

  1. ここからサードパーティのコードを使用してください https://github.com/marko-asplund/jersey/tree/master/ext/jersey-spring
  2. HK2 スプリング ブリッジが安定して文書化されるまで待ちます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

jersey コンポーネントに注釈を付けてから、注釈を使用して Bean を注入できるはずです。

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

    @Autowired
    private MyObj mySpringBean

}
于 2013-01-31T13:58:45.517 に答える