1.动态代理实现AOP
动态代理是Java语言本身提供的一种实现代理模式的强大机制,只要一个类实现了某个接口,就可以通过动态代理机制在运行期动态地构造这个接口的实现对象,这是实现AOP的一种简介的方法。
按照JavaSE动态代理的要求,需要完成下面两个步骤:
(1)编写一个类实现java.lang.reflect.InvocaionHandler接口
【语法】
Object invoke(Object proxy, Method method, Object[] args)throws Exception;
●参数proxy----自动生成的动态代理对象,与目标对象会实现同一个接口;
●参数method----运行时调用的方法,此方法应为指定接口中定义的方法;
●参数args----调用method方法时传入的参数;
●返回值----代理对象的method方法被调用时的返回值。
(2)构造上述实现类(注意实现类一定要实现接口)的实例,然后调用java.lang.reflect.Proxy的newProxyInstance()方法获取自动生成的代理对象。
【语法】
public static Object newProxyInstance(
ClassLoader loader,Class<?>[] interfaces,InvocationHandler handler)
thows IllegalArgumentException
●参数loader----代理类的类加载器;
●参数interfaces----代理的所有接口,