5

Javaでメソッドをインターセプトする簡単な方法はありますか?メソッドを実行する前にロジックの一部が呼び出されるように、必要なメソッドにアノテーションを追加する必要があります。

public void verifyActivity() {
   // Asset if you are on a wrong page
}

@VerifyActivity
public void testLogin() {
   // Login for my automate test
}

@VerifyActivity
public void testSomethingElse() {
   // Test some other UI Automation stuff
}

編集:

Androidアプリに推奨されるGuiceライブラリにはAOPが含まれていません。ライブラリを追加せずにリフレクションを使用してこれを実現することは可能ですか?

4

4 に答える 4

2

sid malani が言ったように、 Google Guiceはこれに最適です。一般的に、アスペクト指向プログラミングのチュートリアルを読みたいと思います... JManglerと呼ばれる便利なツールもあります。

于 2011-12-04T20:06:36.763 に答える
2

Guice は、注釈を実装する簡単な方法を提供します。これをチェックしてください。

http://code.google.com/p/google-guice/wiki/AOP

http://code.google.com/p/google-guice/

于 2011-12-04T19:58:57.423 に答える
0

サードパーティのライブラリがなくてもうまくいくとは思えません。

そのようなことができる cglib というライブラリがあります。

基本的に、実行時にインターセプトされたクラスのサブクラスを作成します。スーパークラスのメソッドが呼び出されたときにプロキシとして機能する InvocationHandler を実装することで、メソッドを「オーバーライド」できます。

于 2013-12-21T17:31:13.350 に答える
0

動的プロキシを介してインターフェイスにコーディングした場合は、リフレクションを使用できます。

于 2011-12-04T22:03:49.683 に答える