package proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
/**
* 动态代理工厂实现类
*/
public class ProxyFactory {
//获取代理类
public static Object getProxy(Object obj){
//代理方法 :设置代理对象实现目标对象方法的过程
InvocationHandler invocationHandler = (proxy, method, args) -> {
System.out.println("代理前");
Object invoke = method.invoke(obj, args);
System.out.println("代理后");
return invoke ;
};
//获取目标的所有实现接口
Class<?>[] interfaces = obj.getClass().getInterfaces();
//获取代理对象
return Proxy.newProxyInstance(obj.getClass().getClassLoader(), interfaces,invocationHandler);
}
}
动态代理工厂类
最新推荐文章于 2024-10-01 09:29:45 发布