代理(Proxy)模式

代理(Proxy)模式

描述

给某一个对象提供一个代理,并由代理对象控制对原对象的引用,对象结构型模式。这种也是静态代理

cglib 动态代理

// 设置增强回调
public class MyMethodInterceptor implements MethodInterceptor {

    @Override
    public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
        System.out.println("before");
        proxy.invokeSuper(obj, args);//执行被代理对象的原有方法
        System.out.println("after");
        return null;
    }
}
// 业务方法
public class LeiTikTok  {
    public void tiktokHaha() {
        System.out.println("雷丰阳,tiktok.... haha....");
    }
}
// 业务方法
public class CglibTest {
    public static void main(String[] args) {
        Enhancer enhancer = new Enhancer();
        //2、设置要增强哪个个类的功能。增强器为这个类动态创建一个子类
        enhancer.setSuperclass(LeiTikTok.class);
        //3、设置回调
        enhancer.setCallback(new MyMethodInterceptor());
        LeiTikTok o = (LeiTikTok) enhancer.create();
        o.tiktokHaha();
    }
}

Spring事务->联想Spring事务不生效的几种情况

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 我在公司负责的模块,是以本地代理模式的形式提供给其他人使用的, so, 总结了一下关于代理模式的概念.代理两...
    Anderson大码渣阅读 2,829评论 0 39
  • 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例...
    要进大厂阅读 239评论 0 0
  • 代理模式(Proxy)是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审...
    zhglance阅读 60,947评论 4 54
  • 什么是代理模式 代理模式(Proxy Pattern) :给某一个对象提供一个代理,并由代理对象控制对原对象的引用...
    david161阅读 178评论 0 0
  • 深度分析代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构...
    javacoo阅读 280评论 0 1