为了账号安全,请及时绑定邮箱和手机立即绑定

老师说的最后一句话不理解?

http://img1.sycdn.imooc.com//597171160001638d09570477.jpg

老师说匿名内部代理就是target里的bean是经过代理处理的,可以使用advice,而如果用引用ref,引用的类没经过代理处理,则不能使用下面定义的advice,不是应该target下的bean都是代理对象能用advice么?老师这个说的有点问题吧?


正在回答

1 回答

完全没有问题啊,你理解错了,匿名内部代理指的是

<bean class=""></bean>

bean标签里没有指定他的id ,所以是匿名的 如果你用ref 里面的bean="",引号里的名字就是bean的名字,所以就不是匿名的,是有名字的。然后你说的那个没经过代理处理那个问题,是你理解错了,他的意思是用ref的方式去调用bean,因为你这个ref方式是在代理类里面的,所以ref调用bean的时候代理类会帮你处理,可是你要是直接在类中去取得这个bean,并不是调用代理类的bean,而是直接去取得,然后使用,他是不会帮你代理处理的,所以那些advice自然就不会使用到。

0 回复 有任何疑惑可以回复我~
#1

莨菽菽 提问者

但是老师之前用外部引用ref的方式,那些advice都有输出啊(老师在advice里面加了语句输出),不说说要代理类才能使用advice么?其实主要不明白这里
2017-07-24 回复 有任何疑惑可以回复我~
#2

root750 回复 莨菽菽 提问者

已经用了代理,自己看看bean标签里面的class 那个就是代理类 框架里的代理类
2017-07-24 回复 有任何疑惑可以回复我~
#3

莨菽菽 提问者 回复 root750

哦,你的意思是,老师说的是如果外部引用类的时候又不是框架的代理类的时候,就造成了无法使用advice,(老师只是说这种情况,但是代码是已经用了代理的,所以adivce有添加成功,我本来以为老师说的情况就是代码写的,这个意思是啊吧?)
2017-07-24 回复 有任何疑惑可以回复我~
#4

root750 回复 莨菽菽 提问者

差不多
2017-07-24 回复 有任何疑惑可以回复我~
#5

莨菽菽 提问者

非常感谢!
2017-07-24 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

老师说的最后一句话不理解?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号