采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么在类中访问添加了注解的方法时会绕过代理,使得代理没办法做aop?这里可以详细解释下吗?
如果你的问题是针对于@Async的话,那么情况是这样的:对被@Async注解方法的拦截实现是基于spring aop的,要使aop生效(基于代理,jdk proxy通过接口代理或者cglib通过继承类代理),方法必须可以被代理类提取到,完成代理类方法->目标类方法的调用。那什么情况下会失效? 1. 方法为private或protected:因为无法为这两者创建代理类方法 2. 目标类内部调用:此时调用链路为"代理类方法->目标类方法A->目标类方法B",方法A到B不会走代理类如果你需要对private/protected方法进行拦截的话,可以使用AspectJ weaving来取代Spring AOP希望以上的解答能帮到你
登录后可查看更多问答,登录/注册
视角更全面,梳理更透彻,再也不担心 Spring 项目的改造升级
852 4
778 3
877 3
645 2
639 2
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号