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

aop after-returning 和after的区别?

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

2015-04-25 源自:Spring入门篇 5-4 26790 浏览 6 回答
try
{
    //  执行前置通知;
    
    //  执行目标方法;
    
    // 执行返回通知;
}
catche(Exception e)
{
    // 执行异常通知;
}
finally
{
    // 执行后置通知;
}

应该是这样的...

2016-08-19
回复 5
try{
	try{
		//@Before
		method.invoke(..);
	}finally{
		//@After
	}
	//@AfterReturning
}catch(){
	//@AfterThrowing
}


2016-12-23
回复 4

xchendevelop

正解!!

#1 2018-03-14 回复

binjoo

学习了。。。

#2 2018-10-19 回复

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

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


2015-04-27
回复 0

J1J 回复 梦编猿

不是的。

#1 2016-07-24 回复

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

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

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

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


2016-07-27
回复 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
   }
}

2017-05-02
回复 0
阿萨德


2017-07-25
回复 0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信