1.实现一个简易的代理类
java实现代理可以通过java.lang.reflect.Proxy接口结合java.lang.reflect.InvocationHandler来实现
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class ProxyHandler implements InvocationHandler {
private UserService object;
public ProxyHandler() {
this.object = new UserServiceImpl();
}
public UserService newProxyInstance(){
return (UserService) Proxy.newProxyInstance(this.object.getClass().getClassLoader(), this.object.getClass().getInterfaces(), this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("预处理");
Object object = method.invoke(this.object, args);
if(object instanceof Person) {
((Person) object).setName("姓名:" + ((Person) object).getName());
}
System.out.println("后处理");
return