/*****************************************************************************************************/
16:00 2017/10/19 动态AOP代理
/*****************************************************************************************************/
·多个类的话静态切面编程较为麻烦,所以使用动态切面编程。
·动态代理步骤:
(1)、概念:概念上来讲,通过代理对象,创建需要的业务对象,然后通过代理对象,进行各种需求的处理。
(2)、创建的过程(创建代理对象):
<1>、写一个类实现invocationHandler接口。
<2>、在这个类里面创建代理对象(只是声明)。
<3>、写一个方法生成代理对象(new一个对象出来)。只有生成了真正的对象,才可以进行使用。
!!!new一个对象的步骤:
3.1>、创建LogProxy对象。
3.2>、设置代理对象。
3.3>、创建代理对象。
·invoke是反射里面的方法,通过invoke方法可以去获取实体类里面的方法。
·范例:动态代理的一个类:
package com.wk.aop;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class LogProxy implements InvocationHandler{
private Object target;
private LogProxy(){
}
public static Object ge
16:00 2017/10/19 动态AOP代理
/*****************************************************************************************************/
·多个类的话静态切面编程较为麻烦,所以使用动态切面编程。
·动态代理步骤:
(1)、概念:概念上来讲,通过代理对象,创建需要的业务对象,然后通过代理对象,进行各种需求的处理。
(2)、创建的过程(创建代理对象):
<1>、写一个类实现invocationHandler接口。
<2>、在这个类里面创建代理对象(只是声明)。
<3>、写一个方法生成代理对象(new一个对象出来)。只有生成了真正的对象,才可以进行使用。
!!!new一个对象的步骤:
3.1>、创建LogProxy对象。
3.2>、设置代理对象。
3.3>、创建代理对象。
·invoke是反射里面的方法,通过invoke方法可以去获取实体类里面的方法。
·范例:动态代理的一个类:
package com.wk.aop;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class LogProxy implements InvocationHandler{
private Object target;
private LogProxy(){
}
public static Object ge