先举个例子说明:
有三个方法a(),b(),c()在一个类Test中(@Component注解),三个方法都被@Transactional注解,a调用b,b调用c。
我猜想,test.a(), test.b(), test.c()在分别调用时,其实此时的test并不是真正new出的对象,而是经过包装代理过的对象,所以都是其实调用的各自的invoke()方法,然后通过上下文关系确认事务的传播。
我去spring源码找了半天没找到相关代码,所以希望懂的人回答下。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。