1,创建一个UserService类:
public interface UserService {
public String getTheName(int id);
public Integer getTheAge(int id);
}
2,创建实现类UserServiceImpl
public class UserServiceImpl implements UserService {@Overridepublic String getTheName(int id) { return "小风"; }@Overridepublic 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; } @Overridepublic 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));}}
本文出自 “11803850” 博客,请务必保留此出处http://11813850.blog.51cto.com/11803850/1954993