@AfterReturning(pointcut="bizPoint()",returning="returnValue") 這里說的bizPoint()是業務邏輯中的類的方法,還是“切入點”
@AfterReturning(pointcut="bizPoint()",returning="returnValue")
在前面的ppt中:?
? ? pointcut=“業務邏輯下的類的方法(以前說的切入點)”
在現在的代碼中 ?
? ? pointcut="bizPoint()"如果我把這個bizPoint()方法理解為ppt中所說的業務邏輯中的類的方法,那可以看到,這個方法的返回值是空的,returning就沒有意義。
? ? 所以應該吧bizPoint()理解為你說的“切入點”(以前認為的切面),returning是這個“切入點”操作的業務邏輯類中方法的返回值,那么問題又來了,要是這個“切入點”切的類中有多個方法 ,這些方法都有返回值,那returning又是什么呢?????
2014-11-30
1.這里的可以把這里public void pointcut() {}方法理解成具體pointcut(切入點)的聲明,實際對應的切入點是“execution(* com.imooc.aop.aspectj.biz.*Biz.*(..))”;
2.@AfterReturning,是在返回后執行,returning="returnValue"的“returnValue”就是具體的方法(* com.imooc.aop.aspectj.biz.*Biz.*(..))的返回值,對應public void afterReturning(Object returnValue)
的方法參數,名稱一定要對應,在方法返回后,可以進行一些操作,比如輸出返回值或者根據返回值進行一些操作。
這樣解釋,不知道你清楚了沒有
2014-11-30
1.可以把public void pointcut() {}理解成具體切入點@Pointcut("execution(* com.imooc.aop.aspectj.biz.*Biz.*(..))")的聲明;
2.@AfterReturning(pointcut="bizPointcut()", returning="returnValue")是在具體業務方法返回后的操作,所以returning="returnValue"對應的是業務方法 的返回值,不是切入點聲明的返回值,且要與public void afterReturning(Object returnValue)的參數名稱對應。
不知道這樣解釋你明白了沒有
2014-11-30
1.可以把public void pointcut() {}理解成具體切入點@Pointcut("execution(* com.imooc.aop.aspectj.biz.*Biz.*(..))")的聲明;
2.@AfterReturning(pointcut="bizPointcut()", returning="returnValue")是在具體業務方法返回后的操作,所以returning="returnValue"對應的是業務方法的返回值,不是切入點聲明的返回值,且要與public void afterReturning(Object returnValue)的參數名稱對應。
不知道這樣解釋你明白了沒有
2016-04-05
我也清楚了。謝謝