2012-07-04 13 views
5

JAX-RS 2.0の目標の1つは、CDIを整数化し、古いを共通の@Inject注入で置き換えることでした。しかし、私がJSR 339を見ると、これは言及されていません。だから、実際にCDIの統合は何ですか? Google Guiceの代わりにCDIでJAX-RSを使用する利点はありますか?Guiceの代わりにCDI/WeldでJAX-RS 2.0を使用する利点?

答えて

4

@ContextはまだJAX-RS 2.0の注入を行う公式の方法です。

@Inject又は @Resourceの使用を必要としてはいけません

実装トリガ注射の 全仕様しかし実装は(JAX-RS 2.0 EDR 3のセクション10.2.5から)@Context並ん@Injectを利用することができると述べているんJAX-RSの注釈付きフィールドまたはプロパティ。 実装はそのような使用法をサポートするかもしれませんが、 非移植性についてユーザに警告しなければならない(SHOULD)。

したがって、JAX-RS 2.0のすべての実装で@Injectがサポートされていることは確かではなく、JAX-RS 2.0の実装を変更したい場合に互換性が失われる可能性があります。

私は少しの研究をしましたが、ジャージー2.0は少なくとも@Injectのサポートを受けているようです。

@Contextの代わりに@Injectを使用する利点は、JAX-RS Webサービスにある非JAX-RSリソースの@Injectのすべてと並んでより一貫性があるということです。

関連する問題