JAX-RS 2.0の1つの目標は、CDIを整数化し、古いもの@Context
を一般的な@Inject
インジェクションに置き換えることでした。しかし、私がJSR 339を見ると、これは言及されていません。では、実際にはCDI統合とは何ですか?Google Guiceの代わりにCDIでJAX-RSを使用する利点はありますか?
質問する
718 次
1 に答える
4
@Context
JAX-RS2.0でインジェクションを行う公式の方法です。ただし、仕様には、実装が(JAX-RS 2.0 EDR 3のセクション10.2.5から)@Inject
一緒に使用できると記載されています。@Context
@Inject
実装では、JAX-RS注釈付きフィールドまたはプロパティの使用またはインジェクションのトリガーを要求してはなりません@Resource
(MUSTNOT)。実装はそのような使用法をサポートするかもしれませんが、非移植性についてユーザーに警告するべきです(SHOULD)。
したがって、JAX-RS 2.0のすべての実装がをサポートするかどうかは定かではなく、JAX-RS2.0の実装@Inject
を変更したい場合は非互換性が生じる可能性があります。
少し調べてみたところ、Jersey2.0@Inject
は少なくともサポートされたようです。
@Inject
代わりに使用することの利点は、JAX-RSWebサービスにある@Context
すべて@Inject
の非JAX-RSリソースとの一貫性が高いことだと思います。
于 2012-09-06T22:21:00.377 に答える