关于两种切面和两种自动代理的关系

关于两种切面和两种自动代理的关系

PointcutAdvisor切点切面案例说Advisor切面类型不够灵活指的是
使用Advisor切面的时候,会对全部方法进行增强吗?
我可以理解Spring的传统AOP的基于Bean名称的自动代理是对Advisor一般切面的改进版本吗?
Spring的传统AOP的基于切面信息的自动代理是PointcutAdvisor切点切面的改进版本吗?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

1、是的,Advisor切面类型不够灵活指的是使用Advisor切面的时候,会对全部方法进行增强

2、非常抱歉的是老师没有理解同学这里说的,

“Spring的传统AOP的基于Bean名称的自动代理是对Advisor一般切面的改进版本吗?
Spring的传统AOP的基于切面信息的自动代理是PointcutAdvisor切点切面的改进版本吗?”

想问的意思 

PointcutAdvisor可以理解为是对Advisor一般切面的改进。

而PointcutAdvisor和Advisor 都是AOP的一种应用。

祝学习愉快.

  • jia_蛙 提问者 #1
    在“Advisor一般切面”的案例中,使用Advice作为切面不是会对目标类所有方法进行拦截代理吗,而在“Spring的传统AOP的基于Bean名称的自动代理”的案例中,也是会对目标类的所有方法进行代理,但是这里是使用BeanNameAutoProxyCreator来基于配置Bean名称自动代理,这样可以减少ProxyFactoryBean开发的难度和降低维护成本。 PointcutAdvisor切点切面可以通过正则配置切面,选择性的增强方法,但如果Bean多的话,每个bean都配置ProxyFacoryBean会提高维护难度,我们又学了 "Spring的传统AOP的基于切面信息的自动代理",自动代理方式和PointcutAdvisor切点切面一样可以选择方法增强,但是这里使用DefaultAdvisorAutoProxyCreator来完成自动代理配置。 这样看来不就是我上面说的: Spring的传统AOP的基于Bean名称的自动代理是对Advisor一般切面的改进版本吗? Spring的传统AOP的基于切面信息的自动代理是PointcutAdvisor切点切面的改进版本吗? 不知道我的理解有没有问题 ,麻烦老师看一下
    2020-03-24 20:32:10
  • 好帮手慕阿莹 回复 提问者 jia_蛙 #2
    是的,同学可以这样理解。祝学习愉快。
    2020-03-25 13:38:03
  • jia_蛙 提问者 回复 好帮手慕阿莹 #3
    谢谢老师!
    2020-03-25 14:05:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师