@withアノテーションが何をしているのかよくわかりません。プレイフレームワークサイト内@withアノテーションは正確に何をしますか? (Play Framework)
は、それが書かれている:
我々は、対応するインターセプタ
を呼び出すために プレイを伝えるために@Withアノテーションを使用してコントローラに注釈を付けることができ、それは同じです継承?指定されたクラスパラメータの@beforeを呼び出しますか?それは正確に何をするのですか?
@withアノテーションが何をしているのかよくわかりません。プレイフレームワークサイト内@withアノテーションは正確に何をしますか? (Play Framework)
は、それが書かれている:
我々は、対応するインターセプタ
を呼び出すために プレイを伝えるために@Withアノテーションを使用してコントローラに注釈を付けることができ、それは同じです継承?指定されたクラスパラメータの@beforeを呼び出しますか?それは正確に何をするのですか?
最善の方法を行うことができ、それは一種のあなたのインターセプタのためのあなたのコントローラレベルでの多重継承を与えることです。インターセプタは@Before
,@After
の注釈です。
そのため
@Before
注釈@Before
あなたは可能性が使用して、共有アクションのあなたの静的データを注入することで対処コントローラを定義するには、あなたの安全な領域を扱ってコントローラを定義することができますすべてのアクションを含むコントローラを定義して、@With
注釈を使用して、上記の2つのコントローラを使用します。つまり、コードをきれいに分けることができ、継承に頼って@Before
アノテーションを実行する必要はありません。
は、あなたが2つのコントローラがあるとします。
A
はB
がA
で定義されたすべてのものを注射アクションが有効になります@With(A.class)
で注釈を付けます、@Before
または他のコントローラのアクション注入の注釈を持っていますB
のアクションメソッドを呼び出すとき。
これは種類の継承です。ただし、継承を使用すると、最大で1つのクラスに拡張できます。しかし、あなたは、私はそれを記述することができます@With({A.class, Z.class, ...})
私はあなたを正しく理解していれば、私はクラス(暗黙的に)にある任意のメソッドを呼び出すことができますか? – james
いいえ、インタセプタ((at))Before、(at)、After(at)finalなど)が動作します –