Spring第一节

2021-05-28 11:01

阅读:664

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class DynamicAgent implements InvocationHandler{

private Object object;//动态代理,创建一个你需要代理的对象 ChineseFood

public Object bind(Object object){//object ChineseFood
this.object=object;//this关键字指向本类中的object为传进来的object
return Proxy.newProxyInstance(object.getClass().getClassLoader(),object.getClass().getInterfaces(),this);
//object.getClass().getClassLoader()类加载器,object.getClass().getInterfaces()类接口,this(自己理解(实现类))
}


@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//重写invoke方法
//proxy是对象,对象为类中的属性 method为类中的方法 args为方法中的形参,因为形参可能不止一个,所以用数组
System.out.println("点菜。。。");
Object result = method.invoke(object, args);//method(方法).invoke(引进)
System.out.println("付款。。。");
return result;
}
}
书写完成之后,写出测试类进行确认

上一篇:八种排序方法

下一篇:Python_模块


评论


亲,登录后才可以留言!