質問

javax.injectアノテーションがcom.google.injectの直接的な置換として機能できるのは本当ですか?

そのため、現在のGUICE/GINアノテーションをすべてjavax.Injectのアノテーションに置き換えた場合、アプリはコンパイルして正常に実行されますか?

まず、javax.injectは、Google.Injectカバーのすべてのベースをカバーしていますか?

役に立ちましたか?

解決

はい、それは正常に動作します。実際、Guice(Bob Lee)の著者は、 javax.inject 仕様。

javax.inject.Inject ありません optional 属性、そのため、オプションの依存関係が必要な場合は、Guice Annotationを使用する必要があります。

他のヒント

実際、Guiceが提供するもの(私が使用している)と比較して、スペックがはるかにミニマルなものだと思うので、Javax.Injectに切り替えることを控えることを選択しました。

  • @Optional @bozhoが述べたように
  • @ImplementedBy これは、明示的なバインディングの数(コードの明確さのため)を減らしたい場合、およびデフォルトを簡単にオーバーライドできるようにする場合に非常に便利です @ImplementedBy 必要な場合はバインディング(統合テストなど)。

おそらく他の人がいますが、私にとってはこれら2つはすでにショーストッパーです。

質問はかなり古いですが、... Fyi:自動的にできます Apiwaveでそれを確認してください.

過去の変更で学ぶことで、私たちはそれを見ることができます com.google.inject.Inject 置き換えることができます javax.inject.Inject.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top