0

Spring AOP を使用してプロジェクトにロガーを導入しようとしていますが、AOP と AspectJ 構文は初めてなので、いくつか問題があります...

いくつかのチュートリアル/ドキュメントに従って、基本的なアスペクト クラスを定義しました。

@Aspect
public class Logger {

    @Pointcut("execution(* exportdatamanager.export.ExportType.fetch(..))")
    public void fetch() {
    }

    // ...

    @AfterReturning("fetch()")
    public void fetchingResult(JoinPoint joinPoint, Object result) {
        System.out.println("TEST LOG " + result.toString());
    }
}

しかし、アプリケーションを実行すると、次の例外が発生します。

java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut 

私が間違っているのは、私のApsectJ式に何か問題があると思います...

Spring AOP でサポートされている AspectJ 構文のクイック リファレンスも教えていただけますか?

ノート

ExportType私のインターフェースからのスニペット

public interface ExportType {

    List<Object> fetch() throws FetchingStrategyException;

    // ...

}
4

1 に答える 1

2

わかりました。この方法で問題を解決しました。

@AfterReturning(pointcut = "fetch()", returning = "results")
public void fetchingResult(JoinPoint joinPoint, List<Object> results) {
    System.out.println("TEST LOG " + results.toString());
}
于 2012-07-16T09:56:34.283 に答える