- public class DynaProxyInvocationHandler implements InvocationHandler {
- // 定义被代理对象,该对象必须实现了至少一个接口
- private Object target;
- // 定义代理方法,该方法代理后的返回值类型是被代理对象原类型
- public Object Proxy(Object target) {
- this.target=target;
- return Proxy.newProxyInstance(
- this.target.getClass().getClassLoader(),
- this.target.getClass().getInterfaces(),
- this);
- }
- /**
- * 当一个类实现了InvocationHandler接口后,必须实现invoke方法
- * 而这个方法就是增强被代理对象的方法
- */
- @Override
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- System.out.println("动态代理开启");
- return method.invoke(this.target, args);
- }
- }