开发者社区> 问答> 正文

invoke()方法的说明内容包括什么?

invoke()方法的说明内容包括什么?

展开
收起
去校区学技术 2022-03-31 19:35:50 338 0
1 条回答
写回答
取消 提交回答
  • invoke()方法的HethodInvocation数暴露了被调用的方法;目标连接点:AOP代理以及传递给方法的参数。invoke()方法应该返回调用的结果:即连接点的返回值。

    一个简单的MethodIntorceptor实现看起来像下面这样:

    public class DebugInterceptor implements MethodInterceptor {
    
    public Object invoke(MethodInvocation invocation) throws Throwable{ 
    
    System.out.println("Before: invocation=["+ invocation +"]");
     Object rval = invocation.proceedo();
    
    System.out.println("Invocation returned"): 
    return rval:
       }
    }
    

    注意对MethodInvocation中proceed()方法的调用。这个方法继续运行指向连接点的拦就器链并返回proceed(的结果。大多数拦器会调用这个方法,返回一个值。然而,一个类似任意环经通知的MethodInterceptor,可以返回一个不同的信或者抽出一个异常而不是调用proceed方法。但除非你有很好的理由,否则不要考虑这样做!

    2022-03-31 19:36:47
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载