- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!
3.2.4? CGLIB生成AopProxy代理对象在AopProxy接口实现中,可以看到使用CGLIB来生成Proxy代理对象,这个Proxy代理对象的生成,可以在Cglib2AopProxy的代码实现中看到,同样是在AopProxy的接口方法getProxy的实现完成的,如代码清单3-17所示。可以看到具体对CGLIB的使用,比如对Enhancer对象的配置,以及通过Enhancer对象生成代理对象的过程。在这个生成代理对象的过程中,需要注意的是对Enhancer对象callback回调的设置,正是通过这些callback回调,封装了Spring AOP的实现,就像我们在前面看到的JDK的Proxy对象的invoke回调方法一样;在Enhancer的callback回调设置中,实际上是通过设置DynamicAdvisedInterceptor拦截器来完成AOP功能的,如果读者感兴趣的话,可以在getCallbacks方法实现中看到回调DynamicAdvisedInterceptor的设置:Callback?aopInterceptor?=? ?new?DynamicAdvisedInterceptor(this.advised);?对于这个DynamicAdvisedInterceptor中的回调实现,我们将在后面详细地进行分析。代码清单3-17? Cglib2AopProxy生成AopProxy代理对象public?Object?getProxy(ClassLoader?classLoader)?{ ?????if?(logger.isDebugEnabled())?{ ?????????logger.debug(Creating?CGLIB2?proxy:?target ?source?is??+?this.advised. ?????getTargetSource()); ?????} ?????//从advised中取得在IoC容器中配置的target对象。?????try?{ ?????????Class?rootClass?= ?this.advised.getTargetClass(); ?????????Assert.state(rootClass?!=?null,?Target ?class?must?be?available?for?????creating?a?CGLIB?proxy); ?????????Class?proxySuperClass?=?rootClass; ?????????if?(AopUtils.isCglibProxyClass(rootClass))?{ ?????????????proxySuperClass?= ?rootClass.getSuperclass(); ?????????????Class[]?additionalInterfaces?= ?rootClass.getInterfaces(); ?????????????for?(Class?additionalInterface?: ?additionalInterfaces)?{ ????????????????? ?this.advised.addInterface(additionalInterface); ?????????????} ?????????} ?????????//?Validate?the?class,?writing?log?messages ?as?necessary. ?????????validateClassIfNecessary(proxySuperClass); ?????????//?Configure?CGLIB?Enhancer... ?????????// ?创建并配置CGLIB的Enhancer,这个Enhancer对象是CGLIB的主要操作 ?类。 ?????????Enhancer?enhancer?=?createEnhancer(); ?????????if?(classLoader?!=?null)?{ ????????????? ?enhancer.setClassLoader(classLoader); ?????????????if?(classLoader?instanceof?SmartClassLoader? ?????????????????????((SmartClassLoader) ?classLoader).isClassReloadable ?????????????????(proxySuperClass))?{ ?????????????????enhancer.setUseCache(false); ?????????
您可能关注的文档
- 佐佳咨询公司-----关于集团管控整体解决思路(一).docx
- 佐佳咨询公司-----关于集团管控整体解决思路(三).docx
- 佐佳咨询公司-----关于集团管控整体解决思路(五).docx
- 佐佳咨询公司----集团人力资源与企业文化的建立(五).docx
- 佐佳咨询公司----关于集团管控模式设计(三 ).docx
- 佐佳咨询公司关于----如何制定集团战略规划(二).docx
- 作业1-附件 a man of quality.pdf
- 佐佳咨询公司关于----如何制定集团战略规划(三).docx
- 最强电容讲座-基础篇.pdf
- 0.7秒事故.ppt
- 山东省菏泽市成武县八年级英语下学期期末考试试题人教新目标版(2)812.pdf
- 七上语法每日小纸条含答案及解析.pdf
- 七上有理数的混合运算120道含答案及解析.pdf
- 内蒙古赤峰市名校2024-2025学年高二上学期期中联考政治试题含答案及解析.pdf
- 六升七英语暑假衔接专项《按要求写单词》含答案及解析.pdf
- 六升七英语暑假语法专项人称代词、物主代词和指示代词100题含答案及解析.pdf
- 六升七语文暑假衔接含答案及解析.pdf
- 人教版七年级上册整册书单词默写表含答案及解析.pdf
- 七年级上册《西游记》1~100回概括(六升七暑假预习)含答案及解析.pdf
- 人教版7上期中语法精练含答案及解析.pdf
文档评论(0)