LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.
Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away from poor people.
talk is cheap, show others the code and KPI, Keep progress,make a better result.
Survive during the day and develop at night。
目录
概 述
CGlib 方法名,相当于容器当中,通知方法的中的信息,保存组件的代理对象,
保存了详细信息,比如增强器,目标对象Step into 先进来,inter
需要执行的目标方法,目标拦截器连CGLIB 等bean 的对象。
如果没有拦截器懒,直接执行目标方法。
如果有拦截器,吧需要执行的目标对象,目标方法拦截器等信息传入创建一个CGlibMethodInvocaion 对象,process的方法。
并调用Object retVal=mi.processed();
拦截器获取流程,当前方法advissor 的拦截器量,怎么获取呢?
保存所有拦截器,config 增强器。通知方法的结果。
默认的ExposeInvalcation 和4个增强剂。便利每一个增强剂,会包装一个直接传进来,为增强剂的将其转为interface主要调用了
registert,interceptor ,刚才放过去了,methodInterception,适配器做个转换。将增将其转为List
如果是MethodInceptot,如果不是用一些增强器,转为intereptor.转为一个,打个断点,一个一个放行。如果是适配器,
MethodIneptor,after不是家下俩,看支不支持advisor的不是包装一个。
afterInterecpor.第四个,前置通知。整个转换每一个增强器,before adapter 拦截器转弯之后
方法的拦截器量,拦截器量。
小结
参考资料和推荐阅读
1.链接: link.