9 @RunWith(SpringJUnit4ClassRunner.class) 10 @ContextConfiguration 11 public class ProxyTest { 12 @Autowired 13 private InvocationProxy invocationProxy; 14 15 @Test 16 public void testName() throws Exception { 17 //EmployeeServiceImpl@2ecdca66 18 System.out.println(invocationProxy.getProxyObject()); 19 20 //class com.sun.proxy.$Proxy11 21 System.out.println(invocationProxy.getProxyObject().getClass()); 22 IEmployeeService service = (IEmployeeService)invocationProxy.getProxyObject(); 23 service.save(); 24 service.update(); 25 } 26 }
在上面,使用动态代理模式时,通过getProxyObject()方法获得的对象,通过System.out.println(invocationProxy.getProxyObject());进行打印时,显示EmployeeServiceImpl@2ecdca66类型,而实际上通过System.out.println(invocationProxy.getProxyObject().getClass());进行打印后,其实际类型为class com.sun.proxy.$Proxy11,,因此其实际上返回的是一个代理对象,,他实现了IEmployeeService接口,因此在下面可以使用IEmployeeService接口进行接受,并进行方法调用.