JDK dynamic proxy demo
1, create a UserService class:
Public interface UserService {public String getTheName (int id); public Integer getTheAge (int id);}
2. Create the implementation class UserServiceImpl
Public class UserServiceImpl implements UserService {@ Override public String getTheName (int id) {return "Xiaofeng";} @ Override public Integer getTheAge (int id) {return 10;}}
3. Test class 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 ("+ before calling method:" + method.getName () + "+"); Object result = method.invoke (target, args); System.out.println ("+ after calling method:" + 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));}}