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