AspectJ:拦截方法执行/调用并使其返回

时间:2013-12-11 19:47:02

标签: return aspectj

假设我有以下方法:

public Result action() {
     //do some complex stuff
}

我想使用AspectJ建议使action()在建议中测试的某些条件下尽早返回Result。有没有办法让这种情况发生?

我发现的唯一可以进入这个方向的东西(可能只是需要一些小修改?)

  • 一个建议,只有当条件成立时才会使proceedingJointPoint继续进行(但我仍然不提前返回任何内容)

    public void giveAdvice(ProceedingJoinPoint proceedingJoinPoint) {
    
        if(conditionsHold()) {
              proceedingJoinPoint.proceed();
        }
    }
    
  • 从建议中抛出异常(我宁愿返回结果)

1 个答案:

答案 0 :(得分:1)

找到答案here。可以使用around建议,其中可以操纵方法返回值。