ガスクはカスタムアノテーションでの注入を支援しました
-
13-12-2019 - |
質問
このような名前付きパラメータでアシストインジェクションを使用しています:
public interface Factory {
public MyObject create(@Assisted("string1") String string1, @Assisted("string2") String string2);
}
.
これは素晴らしい作品です。しかし、文字列を私のパラメータの識別子として使用するのは少し醜いと思います。私がやりたいことは次のものです:
public interface Factory {
public MyObject create(@String1 String string1, @String2 String string2);
}
.
本質的に私はカスタムアシストアノテーションを望んでいます。これを行う方法はありますか?
解決
私の知る限り、カスタム@Assisted
注釈のスタイルは機能として存在しません。同じ種類のアシストインクテンプレートパラメータを区別する唯一の方法は、言ったように、名前付き@Assisted
アノテーションを使用することです。
あなたが提案するものが実装可能かもしれないので、あなたが価値があると思うならば、あなたは常にガスサイトで機能要求を提出することができます[1]。
私の根本の本能は、このアプローチではがあまりにも多くの追加された価値があるということですが、一般的なバインディングアノテーションとは簡単に混同しているため、@Assisted
注釈の意味は多くのが異なります。さらに、注釈タイプを定義するために公正な量の定型板を取ります。
所属していません StackOverflow