阅读背景:

动态代理之JDK与CGLib

来源:互联网 

JDK:被代理类需实现接口

public interface Car {

    void run();
}

public class Audi implements Car {

    @Override
    public void run() {
        System.out.println("Audi run...");
    }
}

 public static void main(String[] args) {
        Audi audi = new Audi();

        Car car = (Car) Proxy.newProxyInstance(audi.getClass().getClassLoader(), new Class[]{Car.class}, new InvocationHandler() {
            @Override
            public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                System.out.println("method"+method.getName()+"start...");
                Object object = method.invoke(audi,args);
                System.out.println("method"+method.getName()+"end...");
                return object;
            }
        });

        car.run();
    }public interface Car 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: