aop after-returning 和after的区别?

来源:5-4 Advice应用(上)

linda1048195

2015-04-25 22:05

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

写回答 关注

8回答

  • Ajayy
    2020-12-07 14:36:21

    @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

       }

    }


  • xzw_hahah
    2020-09-27 17:36:51

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

    Ajayy

    看楼下

    2020-12-07 14:36:37

    共 1 条回复 >

  • qq_辣个蓝人_03894732
    2017-07-25 10:06:47
    阿萨德


  • _dnf
    2017-05-02 14:23:39

    @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
       }
    }

    qq_慕婉清...

    兄弟,写反了,finally里面应该是after,最终通知,afterreturning是后置通知。

    2020-03-06 17:35:31

    共 1 条回复 >

  • ilikeWaltz
    2016-12-23 22:59:57
    try{
    	try{
    		//@Before
    		method.invoke(..);
    	}finally{
    		//@After
    	}
    	//@AfterReturning
    }catch(){
    	//@AfterThrowing
    }


    binjoo

    学习了。。。

    2018-10-19 17:09:35

    共 2 条回复 >

  • 江湖上
    2016-08-19 06:26:14
    try
    {
        //  执行前置通知;
        
        //  执行目标方法;
        
        // 执行返回通知;
    }
    catche(Exception e)
    {
        // 执行异常通知;
    }
    finally
    {
        // 执行后置通知;
    }

    应该是这样的...

  • 悦溪
    2016-07-27 15:23:52

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

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

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

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


  • 好帮手慕珊
    2015-04-27 11:16:17

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

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


    J1J 回复梦编猿

    不是的。

    2016-07-24 20:09:09

    共 2 条回复 >

Spring入门篇

为您带来IOC和AOP的基本概念及用法,为后续高级课程学习打下基础

268787 学习 · 963 问题

查看课程

相似问题