Spring AOP记录器,切入点定义

时间:2012-07-16 09:34:47

标签: java spring aop aspectj spring-aop

我正在尝试使用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;

    // ...

}

1 个答案:

答案 0 :(得分:2)

好的,我刚才这样解决了我的问题:

@AfterReturning(pointcut = "fetch()", returning = "results")
public void fetchingResult(JoinPoint joinPoint, List<Object> results) {
    System.out.println("TEST LOG " + results.toString());
}