栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaSpring @Transactional属性可以在私有方法上工作吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSpring @Transactional属性可以在私有方法上工作吗?

问题不是私有的还是公共的,问题是:如何调用它以及你使用哪种AOP实现!

如果你使用(默认)Spring Proxy AOP,则

@Transational
仅当调用通过代理时,才会考虑Spring提供的所有AOP功能(如)。-如果从另一个 bean 调用带注释的方法,通常就是这种情况。

这有两个含义:

  • 因为不能从另一个bean调用私有方法(例外是反射),
    @Transactional
    所以不考虑其注释。
  • 如果该方法是公共方法,但是从同一个bean调用,则也不会考虑该方法(仅当使用(默认)Spring Proxy AOP时,此语句才是正确的)。
    @See Spring参考:第9.6章9.6代理机制

恕我直言,你应该使用AspectJ模式而不是Spring Proxies来解决问题。而且AspectJ事务性方面甚至被编织成私有方法(已在Spring 3.0中进行了检查)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431892.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号