为了账号安全,请及时绑定邮箱和手机立即绑定

aop after-returning 和after的区别?

aop after-returning 和after的区别? 难道只是执行顺序的先后问题呢?大家都是在方法执行后返回,区别在哪里呢

正在回答

8 回答

@Override

public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

   Object result;

   try {

       //@Before

       result = method.invoke(target, args);

       //@AfterReturning

       return result;

   } catch (InvocationTargetException e) {

       Throwable targetException = e.getTargetException();

       //@AfterThrowing

       throw targetException;

   } finally {

       //@After

   }

}


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

兄弟,到底哪个版本是对的???????

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

Ajayy

看楼下
2020-12-07 回复 有任何疑惑可以回复我~
阿萨德


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

@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
   Object result;
   try {
       //@Before
       result = method.invoke(target, args);
       //@After
       return result;
   } catch (InvocationTargetException e) {
       Throwable targetException = e.getTargetException();
       //@AfterThrowing
       throw targetException;
   } finally {
       //@AfterReturning
   }
}

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

qq_慕婉清9181605

兄弟,写反了,finally里面应该是after,最终通知,afterreturning是后置通知。
2020-03-06 回复 有任何疑惑可以回复我~
try{
	try{
		//@Before
		method.invoke(..);
	}finally{
		//@After
	}
	//@AfterReturning
}catch(){
	//@AfterThrowing
}


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

xchendevelop

正解!!
2018-03-14 回复 有任何疑惑可以回复我~
#2

binjoo

学习了。。。
2018-10-19 回复 有任何疑惑可以回复我~
try
{
    //  执行前置通知;
    
    //  执行目标方法;
    
    // 执行返回通知;
}
catche(Exception e)
{
    // 执行异常通知;
}
finally
{
    // 执行后置通知;
}

应该是这样的...

5 回复 有任何疑惑可以回复我~

   //限定了返回值,可不写,注意如果出现异常,则该设定不起作用,after returing对应的方法不被执行

     <aop : after-returning  returning = "retVar"  method = ""  pointcut-ref = "" />

    //after的执行是在after returning之后,但无论方法是否正常结束, after通知都会被执行

     <aop : after  method = ""  pointcut =  " " />


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

 after 对应 target 执行之后, afterReturning  对应在 target 处理后结果返回增强处理

可以看老师例子中after-returning和after对应的输出内容进行对比


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

J1J 回复 梦编猿

不是的。
2016-07-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

aop after-returning 和after的区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信