博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态代理模式
阅读量:6614 次
发布时间:2019-06-24

本文共 990 字,大约阅读时间需要 3 分钟。

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接口进行接受,并进行方法调用.

 

转载于:https://www.cnblogs.com/tabchanj/p/5620581.html

你可能感兴趣的文章