Spring AOP注解失效的原因是什么


这篇文章主要介绍Spring AOP注解失效的原因是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方加,不然不会生效。如下面几种场景1、Controller直接调用Service B方法:Controller > Service A在Service A 上加@Transactional的时候可以正常实现AOP功能。2、Controller调用Service A方法,A再调用B方法:Controller > Service A > Service B在Service B上加@Transactional的时候不能实现AOP功能,因为在Service A方法中调用Service B方法想当于使用this.B(),this代表的是Service类本身,并不是真实的代理Service对象,所以这种不能实现代理功能。所以,如果不是直接调用的方式,是不能实现代理功能的,非常需要注意。但确实有这种不是直接调用的试 香港云主机,也需要实现代理功能,怎么做呢?很简单,只需要暴露当前代理对象给当前线程就行了,如下配置,注解粗体的部分。expose-proxy=”true”/>protected final T proxy() {return (T) AopContext.currentProxy();}这样就能拿到代理对象了,在Service A中可以通过proxy().B()即可正常实现B方法上面的代理功能。以上是“Spring AOP注解失效的原因是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注开发云行业资讯频道!

相关推荐: Android中OkHttp的作用是什么

今天就跟大家聊聊有关Android中OkHttp的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/29 23:20
Next 08/29 23:20

相关推荐