ジャージー2に春の豆を注入できるようにするための最良の方法は何ですか?ジャージーはこれをネイティブにサポートしていないようです。
2つのフレームワークを相互に接続するには何が必要ですか?pom.xmlとweb.xmlでは?
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 年 6 月の時点で、Jersey 2.0 には公式の Spring サポートがありません。次の 2 つのオプションがあります。
以下も参照してください。
http://jersey.576304.n2.nabble.com/Spring-framework-support-for-Jersey-2-td7580673.html
編集:Jersey 2.3には現在春のサポートがあります。以下のFabioによる回答を参照してください
jersey コンポーネントに注釈を付けてから、注釈を使用して Bean を注入できるはずです。
@Service //(or @Component)
public class MyJerseyService {
@Autowired
private MyObj mySpringBean
}