我已经定义了像这样的切入点
@Pointcut("execution(* com.personal.services.Example.buildList(..))")
public void contextInterceptor() {
//pointcut identifier
}
我想将它用于afterReturning建议。 如何添加返回变量以便我可以在我的建议中访问它?
@AfterReturning("contextInterceptor()")
public Object contextAdvice(JoinPoint jp, Object returnObj){
//process returnobj;
return returnObj;
}
我试过了,但它给了我错误
@Pointcut("execution(* com.personal.services.Example.buildList(..))",returning="returnObj")
答案 0 :(得分:1)
你可以用这样的方法完成所有这些:
@AfterReturning(
pointcut = "execution(* com.personal.services.Example.buildList(..))",
returning = "retVal"
)
public void afterReturning(JoinPoint joinPoint, Object retVal) {
if (retObject != null) {
logger.error("Returned object: " + retVal);
logger.error("Returned type: " + retVal.getClass().getName());
}
}
答案 1 :(得分:0)
我明白了。 我这样做,现在工作正常。
@AfterReturning(pointcut="contextInterceptor()",returning="returnObj")