Java动态代理简单步骤
2016-09-21 本文已影响88人
b496178cdc84
实现步骤。
1、定义Hook类实现InvocationHandler接口。
2、在Hook类中定义需要被代理的对象。
public class IHook implements InvocationHandler {
private Object beHookedObj;//这个对象是你要代理的对象
public void setBeHookedObj(Object beHookedObj) {
this.beHookedObj = beHookedObj;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{
System.out.println("执行方法");
return method.invoke(beHookedObj, args);
}}
3、实例化hook 并 传入需要被代理的对象obj
4、调用Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(), hook);
obj为被代理对象
5、在Hook的invoke方法里面dosomething就可以了