前⾯介绍到MethodProxy对象,表示⼀个⽅法的代理,⽐如UserSerivce中的test()⽅法,在对应的代理 类中会有对应的两个⽅法:
⽽MethodProxy对象代理就是这两个⽅法,⽐如: 
我们先来看⼀下MethodProxy对象的创建,创建的⼊⼝在代理类中:

对应的⽅法为:

可以发现MethodProxy对象中主要有三个属性:
1.
sig
1
,表示test⽅法
2.
sig
2
,表示CGLIB$test$
0
⽅法
3.
createInfo,表示UserService类和UserService代理类
我们再来看MethodProxy的invoke()和invokeSuper()⽅法:
我们可以发现,这两个⽅法差不多,⾸先都需要⽤到⼀个FastClassInfo对象,这个对象是在init()⽅法构 造的。
FastClassInfo对象中主要有四个属性:
1.
f
1
,UserService类对应的⼀个
FastClass代理对象

本文深入探讨了cglib库中MethodProxy的底层实现,通过分析其创建过程,揭示了代理类如何在Java后端开发中进行性能优化。通过了解这一关键组件,开发者可以更好地理解和应用cglib在实际项目中的功能。
最低0.47元/天 解锁文章
3034

被折叠的 条评论
为什么被折叠?



