美文网首页
动态代理的两类实现方式

动态代理的两类实现方式

作者: 又双叒叕苟了一天 | 来源:发表于2018-01-30 19:53 被阅读0次

1.要代理的类实现了接口

例:

public class FindZJLProxy{
  public static Singable findZJLProxy(ZJL zjl){
    return (Singable)Proxy.newProxyInstance(zjl.getClass().getClass().getClassLoader(),zjl.getClass().getInterfaces(),new InvocationHandler(){
      public Object invoke(Object proxy,Method method,Object[] args){
        sysout("sing");
        return method.invoke(zjl,args);
      }
    })
  }
}

2.要代理的类未实现接口

例:

public class MyCglibUtil{
  public staitic UserDao getProxy(){
    Enhancer eh=new Enhancer();
    eh.setSuperclass(UserDaoImpl.class);
    eh.setCallback(new MethodInterceptor()
    {
      public Object  interceptor(Object obj,Method method,Object[] args,MethodProxy mp){
        if("save".equals(method.getName())){
          sysout("log");
        }
        return mp.invokeSuper(obj,args);
      }
    });
    UserDaoImpl ud=(UserDaoImpl)eh.create();
    return ud;
  }
}

相关文章

  • 动态代理的两类实现方式

    1.要代理的类实现了接口 例: 2.要代理的类未实现接口 例:

  • Java面试之Java基础下册(含答案)

    15.动态代理与cglib实现的区别。 动态代理有两种实现方式,分别是:jdk动态代理和cglib动态代理 jdk...

  • 动态代理

    动态代理分为两类:1、基于接口的动态代理; (JDK动态代理 )2、基于类的动态代理;(cglib动态代理)3、J...

  • 代理

    描述动态代理的几种实现方式?分别说出相应的优缺点 代理可以分为 "静态代理" 和 "动态代理",动态代理又分为 "...

  • Spring AOP 与 AspectJ

    spring AOP 基于代理(Proxy)的方式实现AOP实现的方式是运行时代理具体细节可以参考JDK动态代理[...

  • 基于反射的动态代理

    1 动态代理 动态代理的实现方式常用的有两种: 反射实现:基于反射实现,目标对象必须要有接口。生成的代理类是接口的...

  • RPC框架实现之路01-极简的RPC框架实现

    Version 01 动态代理通过jdk动态代理方式实现,网络通信通过Socket实现,服务注册和获取通过Hash...

  • jdk动态代理

    接口文件 实现类 AOP就是通过动态代理的方式实现的。

  • java 中动态代理

    1 普通实现方式 2 两个实现类 3 两个代理类 4 测试 5 动态代理方式实现 6 测试

  • cglib动态代理final方法的坑

    由于cglib是基于继承的方式实现类的动态代理,因此无法实现对final方法的代理。

网友评论

      本文标题:动态代理的两类实现方式

      本文链接:https://www.haomeiwen.com/subject/ebxhzxtx.html