zoukankan      html  css  js  c++  java
  • 动态代理模式

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

    
    
  • 相关阅读:
    MYSQL转MSSQL
    SVN 服务器IP地址变更后客户端的修改
    gridview
    gridview外边距
    Android开发:自定义GridView/ListView数据源
    Android之Adapter用法总结
    collection set
    listview优化
    android应用开发全程实录-你有多熟悉listview
    android模块
  • 原文地址:https://www.cnblogs.com/tabchanj/p/5620581.html
Copyright © 2011-2022 走看看