package com.dudy.learn01.base.aop.DynamicProxy; import java.lang.reflect.Proxy; /** * Created by dudy on 2017/3/22. */ public class DynamicProxyDemo { public static void main(String[] args) { // 需要代理的接口,被代理类实现的多个接口都必须放在这里 Class[] proxyInterface = new Class[]{IBusiness.class,IBusiness2.class}; // 构建AOP的Advice,这里需要传入业务类的实例 LogInvocationHandler handler = new LogInvocationHandler(new Business()); //生成代理类的字节码加载器 ClassLoader loader = DynamicProxyDemo.class.getClassLoader(); //织入器,织入代码并生成代理类 IBusiness2 proxyBusiness = (IBusiness2) Proxy.newProxyInstance(loader, proxyInterface, handler); proxyBusiness.dosomething2(); } }