【问题标题】:Spring AOP logger, pointcut definitionSpring AOP logger,切入点定义
【发布时间】:2012-07-16 09:34:47
【问题描述】:

我正在尝试使用 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 界面的 sn-p

public interface ExportType {

    List<Object> fetch() throws FetchingStrategyException;

    // ...

}

【问题讨论】:

    标签: java spring aop aspectj spring-aop


    【解决方案1】:

    好的,我就是这样解决了我的问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 2010-10-02
      相关资源
      最近更新 更多