模拟CGlib代理重写的子类代码

模拟CGlib代理重写的子类代码


情景如下——小孩吃东西

需要被代理的类(目标类)

如何在不改动该Kid内部任何逻辑的情况下,实现健康的吃东西方式?

1、首先定义了一个,用于实现代理的(完成代理任务)“介质”接口;

2、对原Kid类做一个方法拦截

3、模拟Cglib,自己实现一个类似的子类代码,基本逻辑跟Cglib一致

4、测试实现

这样,我们就用一个代理类,实现了原逻辑的方法级别的切面逻辑。CGLib则是用ASM自动生成了重写子类。存在super还是比较容易实现代理父类的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 代理:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。jdk代理跟cglib代理都是动态代理...
    聂叼叼阅读 774评论 0 6
  • 上篇文章的结尾我们介绍了普通的jdk实现动态代理的主要不足在于:它只能代理实现了接口的类,如果一个类没有继承于任何...
    Single_YAM阅读 1,466评论 0 6
  • 动态代理的意义在于生成一个占位(又称代理对象),来代理真实对象,从而控制真实对象的访问。 我们首先来谈谈什么是代理...
    Haozz_1994阅读 414评论 0 2
  • 在传统的布局方案中,是基于盒模型的,一般使用display+position+float属性,对于一些特殊的布局中...
    七_五阅读 292评论 0 0
  • 第一章内容:初次见面的内容,幽默式介绍自己、经典式介绍自己,第一次见面记住对方的名字,注意说话的分寸。 《口才》小...
    百思方成Helen阅读 462评论 0 0

友情链接更多精彩内容