📄 helloaopimpl.java
字号:
package test.aop;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class HelloAOPImpl implements InvocationHandler{
public static int count = 1;
private Object original;
private Object proxy;
public HelloAOPImpl(Object obj){
super();
original = obj;
proxy = Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj.getClass().getInterfaces(), this);
}
public Object invoke(Object obj, Method method, Object[] args)
throws Throwable {
// method.invoke(obj, args);
count++;
Object o =null;
startMethod();
o = method.invoke(original, args);
endMethod();
return o;
}
public Object getProxy() {
return proxy;
}
public void setProxy(Object proxy) {
this.proxy = proxy;
}
public void startMethod(){
System.out.println("/-------------- Begin Invoke!"+count+" ---------------/");
}
public void endMethod(){
System.out.println("/-------------- End Invoke!"+count+" ---------------/");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -