前⾯介绍到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