spring源码(AOP(Cglib))

 点进去,调用Enhancor父类的静态代码块

 继续往下走,调用Enhancer的静态代码块,创建EnhancerKey

点进去

 点进去

 点进去

点进去

走到ClassLoaderData类中的对应如下方法

 这里式现将GET_KEY对应的函数式接口创建好,方便接下来执行ClassLoaderData方法创建LoadingCache时候要传进来的参数GET_KEY

 点进去

 由参数可以看出,LoadingCache存储着两个Function类型的函数式接口,一个是Generic所包含的key值,如上图。另一个是用来返回具体的Class对象。

get方法点进去

 get方法点进去

一个个apply方法

 点进createEntity

 点进去

 上图反悔了生成器Generator.退出这个方法

 返回退出这个方法

 返回退出这个方法

 到这里KeyFactory对象实例化完成。

总由图可以看到这个代理对象里面的属性值都是默认值,如果想调用代理方法需要对这几个属性进行设置。

 下面是创建自定义的代理对象的部分。把断点打到这

点进去

 点进去,可以看到这个创建的代码和创建KeyFactory时的代码是一样的

 点进去

点进去

 点进去

apply方法点进去

 点进createEntity

 点进去

 到此就生成了一个代理的Class文件,返回

 

 

 

 点进去

 到此代理对象就创建完成了。返回

 返回

返回

接下来看一下myCaculate.add方法的实现

 点进去

 点进去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值