package com.dudy.learn01.base.aop.DynamicProxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
/**
* Created by dudy on 2017/3/22.
* 打印日志的切面
*/
public class LogInvocationHandler implements InvocationHandler{
private Object targer; //目标对象
public LogInvocationHandler(Object targer) {
this.targer = targer;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// 执行原有逻辑
Object rev = method.invoke(targer, args);
// 执行织入的日志,你可以控制哪些哪些方法执行切入逻辑
if (method.getName().equals("dosomething2")){
System.out.println("记录日志");
}
return rev;
}
}