MyInvocationHandler.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section1;
  2. import java.lang.reflect.InvocationHandler;
  3. import java.lang.reflect.Method;
  4. import java.lang.reflect.Proxy;
  5. /**
  6.  * @author cbf4Life cbf4life@126.com
  7.  * I'm glad to share my knowledge with you all.
  8.  */
  9. public class MyInvocationHandler implements InvocationHandler {
  10. //被代理的对象
  11. private Object target = null;
  12. //通过构造函数传递一个对象
  13. public MyInvocationHandler(Object _obj){
  14. this.target = _obj;
  15. }
  16. //代理方法
  17. public Object invoke(Object proxy, Method method, Object[] args)
  18. throws Throwable {
  19. //设置返回值
  20. Object result = null;
  21. //前置通知
  22. this.before();
  23. //执行被代理的方法
  24. result = method.invoke(this.target, args);
  25. //后置通知
  26. this.after();
  27. //返回值
  28. return result;
  29. }
  30. //前置通知
  31. public void before(){
  32. System.out.println("执行before方法");
  33. }
  34. //后置通知
  35. public void after(){
  36. System.out.println("执行after方法");
  37. }
  38. }