spring AOP (5) 基础知识-java动态代理
?基本的组件我们创建完成了,看看如何利用这些组件:
?
?
----START----Target.do1()----END--------START----Target.do2(test)----END--------START----Target.exe1()----END--------START----Target.exe2(test)----END----
?以上就是java的动态代理,现在我来讲解下测试累的main方法
?
在main中
通过静态方法Proxy.newProxyInstance()来创建动态的代理。
这个方法需要三个参数:
①类加载器:可以通过已加载对象,获得类加载器。例如:Interface1.class.getClassLoader()
②希望被代理的接口列表,是个Class数组。例如:new Class<?>[] { Interface1.class, Interface2.class }
③java.lang.reflect.InvocationHandler接口的一个实现类。
?
动态代理就是将所有调用重定向到调用处理器(DynamicProxyHandler),一般会向调用处理器传递一个目标对象(例如:DynamicProxyHandler的构造函数public DynamicProxyHandler(Object proxied)),调用器在在执行中介任务时,将请求转发给目标对象。