9 @RunWith(SpringJUnit4ClassRunner.class)10 @ContextConfiguration11 public class ProxyTest {12 @Autowired13 private InvocationProxy invocationProxy;14 15 @Test16 public void testName() throws Exception {17 //EmployeeServiceImpl@2ecdca6618 System.out.println(invocationProxy.getProxyObject());19 20 //class com.sun.proxy.$Proxy1121 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接口进行接受,并进行方法调用.