1

com.google.inject.* に相当するアノテーションの代わりに、JSR-330 javax.inject.* アノテーションの使用を検討しています。JSR-330 標準には、私が Guice で好きになったいくつかの機能が含まれていないようです。

具体的には、@Assisted キーワードはサポートされていません。また、@AssistedInject はどうですか? @Inject は複数のコンストラクターに配置できますか?

ベンダー中立であることには関心がありますが、便利な機能を犠牲にするつもりはありません。推奨事項はありますか?

4

2 に答える 2

4

@Assistedは Guice のみです。JSR 330 で使用できます@Inject。Guice の依存関係が必要ない場合は、ファクトリ インターフェイスをコードに実装して、手動で支援されたインジェクションを実行します。

于 2011-08-03T05:13:34.813 に答える
0

あなたの質問の1つに答えて:

@Inject は複数のコンストラクターに配置できますか?

javadocから

注入可能なコンストラクターには @Inject アノテーションが付けられ、0 個以上の依存関係を引数として受け入れます。@Inject は、クラスごとに最大 1 つのコンストラクターに適用できます。

だから答えはノーだと思います。

于 2011-08-03T01:18:17.613 に答える