1,创建一个UserService类:
public interface UserService {
public String getTheName(int id);
public Integer getTheAge(int id);
}
2,创建实现类UserServiceImpl
public class UserServiceImpl implements UserService {
@Override
public String getTheName(int id) {
return "小风";
}
@Override
public Integer getTheAge(int id) {
return 10;
}
}
3, 测试类JDKProxyTest
public class JDKProxyTest implements InvocationHandler {
private Object target;
JDKProxyTest() {
super();
}
JDKProxyTest(Object target) {
super();
this.target = target;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("++++++调用方法之前: " + method.getName() + "++++++");
Object result = method.invoke(target, args);
System.out.println("++++++调用方法之后: " + method.getName() + "++++++"+result);
return result;
}
public static void main(String[] args) {
UserServiceImpl userService = new UserServiceImpl();
InvocationHandler handler=new JDKProxyTest(userService);
UserService userServiceProxy=
(UserService) Proxy.newProxyInstance(userService.getClass().getClassLoader(), userService.getClass().getInterfaces(), handler);
System.out.println(userServiceProxy.getTheName(1));
System.out.println(userServiceProxy.getTheAge(1));
}
}