15

推奨されたメソッド呼び出しから署名と引数を取得できますが、戻り値または例外を取得する方法がわかりません。何らかの方法で around を使用して実行できると想定しています。

4

3 に答える 3

14

次のドキュメントのafter() returning冒頭にあるように、after() throwingアドバイスを使用できます。@AspectJ 構文を使用している場合は、注釈を参照してください (ここでサンプルを見つけることができます)。@AfterReturning@AfterThrowing

于 2011-04-14T07:39:19.957 に答える
9

アドバイスを返した後に使用して戻り値を取得することもできます。

package com.eos.poc.test;   

public class AOPDemo {
            public static void main(String[] args) {
                AOPDemo demo = new AOPDemo();
                String result= demo.append("Eclipse", " aspectJ");
           }
            public String append(String s1, String s2) {
                System.out.println("Executing append method..");
                return s1 + s2;
          }

}

戻り値を取得するための定義されたアスペクト:

public aspect DemoAspect {
    pointcut callDemoAspectPointCut():
        call(* com.eos.poc.test.AOPDemo.append(*,*));

    after() returning(Object r) :callDemoAspectPointCut(){
        System.out.println("Return value: "+r.toString()); // getting return value

    }
于 2014-04-08T11:44:59.403 に答える