ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 使用Spring AOP时是否所有方法都被代理?

2019-06-07 02:01:42  阅读:417  来源: 互联网

标签:java spring aop dynamic-proxy


使用Spring AOP使用NameMatchMethodPointcutAdvisorBeanNameAutoProxyCreator为类创建代理时,这基本上代理了对该对象的每次调用,但仅将建议应用于匹配的方法,或者以某种方式创建仅具有这些方法并使用正常的Proxied对象应该被截获的呼叫的对象?

方式,我想我明白它确实代理了对对象的每次调用,但后来只调用匹配方法的顾问 – 但我找不到一个好的例子/帖子来确认这一点.

解决方法:

取决于使用的技术. (它可以通过aop配置中的属性proxy-target-class进行配置)

> JDK动态代理是接口的代理 – 正如您所说,接口的每个方法都通过代理,如果匹配恰好是“建议”方法,则应用顾问程序.否则,它被委托给原始对象
> CGLIB代理是在具体类的运行时定义的有效子类.我不能确定这一点,但我假设只覆盖了“建议”方法,其余方法保留了超类的定义.

但是,无论使用哪种机制:

>您不关心代理是如何实现的
>这不会对性能产生重大影响 – 由Spring团队提供有关代理性能神话的Debunking myths: proxies impact performance

标签:java,spring,aop,dynamic-proxy
来源: https://codeday.me/bug/20190607/1191514.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有