1.JDK动态代理
首先,我们需要明白的就是在jdk动态代理当中,需要明白的就是,为什么会有这样一个代理,那是因为当需要代理的方法越来越多的时候,这个时候就会增大麻烦量,于是就引出了JDK的动态代理。
代码
首先是书写对应的接口,以及你需要完成的任务对应的实现类
subject.interface
package com.example.qhb.Jdk;
public interface Subject {
void request();
void hell0();
}
RealSubject.class
package com.example.qhb.Jdk;
import jdk.internal.loader.AbstractClassLoaderValue;
public class RealSubect implements Subject {
@Override
public void request() {
System.out.println("首先是发送对应的请求");
}
@Override
public void hell0() {
System.out.println("打一下招呼");
}
}
接下来就是对应的书写代理类了,首先,我们需要明白的就是,在这里是需要使用到jdk的动态代理,而这个代理的好处就是可以一次性地将方法写入到放法invoke()中去,这个方法又是存在于接口InvocationHandler中的,所以在这里我们需要使用代理类来对这个接口进行实现:
JdkProxySubject.class
package com.example.qhb.Jdk;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class JdkProxySubject implements InvocationHandler {
//接下来就是引入需要执行定义的目标类
private RealSubect realSubect;
public JdkProxySubject(RealSubect realSubect)