亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

@AfterReturning(pointcut="bizPoint()",returning="returnValue") 這里說的bizPoint()是業務邏輯中的類的方法,還是“切入點”

@AfterReturning(pointcut="bizPoint()",returning="returnValue")

在前面的ppt中:?

? ? pointcut=“業務邏輯下的類的方法(以前說的切入點)”

在現在的代碼中 ?

? ? pointcut="bizPoint()"如果我把這個bizPoint()方法理解為ppt中所說的業務邏輯中的類的方法,那可以看到,這個方法的返回值是空的,returning就沒有意義。

? ? 所以應該吧bizPoint()理解為你說的“切入點”(以前認為的切面),returning是這個“切入點”操作的業務邏輯類中方法的返回值,那么問題又來了,要是這個“切入點”切的類中有多個方法 ,這些方法都有返回值,那returning又是什么呢?????

正在回答

4 回答

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)
的方法參數,名稱一定要對應,在方法返回后,可以進行一些操作,比如輸出返回值或者根據返回值進行一些操作。


這樣解釋,不知道你清楚了沒有

1 回復 有任何疑惑可以回復我~
#1

抗貨產品汪 提問者

抱歉,回復晚了,我看懂了,謝謝!?。?/div>
2014-12-05 回復 有任何疑惑可以回復我~
#2

moocer

不用客氣,弄明白最重要。
2014-12-05 回復 有任何疑惑可以回復我~

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)的參數名稱對應。

不知道這樣解釋你明白了沒有

0 回復 有任何疑惑可以回復我~

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)的參數名稱對應。

不知道這樣解釋你明白了沒有

0 回復 有任何疑惑可以回復我~

我也清楚了。謝謝

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

@AfterReturning(pointcut="bizPoint()",returning="returnValue") 這里說的bizPoint()是業務邏輯中的類的方法,還是“切入點”

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號