spring_事物传播属性理解

一个非事务方法调用一个事务方法,会有什么结果?嗯,说说你的理解,为什么?
事务不起作用
知识点 spring的动太代理 及 事物的传播属性

在一个Service内部,事务方法之间的互相调用,普通方法和事务方法之间的互相调用,都不会开启新的事务.是因为spring采用动态代理机制来实现事务控制而动态代理最终都是要调用原始对象的,而原始对象在去调用自己方法时,是不会再触发代理了!

解决 
让原始对象调用自己的其它方法也走一把 动态代理
可以把方法B放到另外一个service或者dao,然后把这个server或者dao通过@Autowired注入到方法A的bean里面,这样即使方法A没用事务,方法B也可以执行自己的事务了。

猜你喜欢

转载自blog.csdn.net/maqingbin8888/article/details/81739263
今日推荐