osh*_*osh 8 java spring transactions spring-jdbc
我知道这可能是重复的,具有讽刺意味的是,在我开始阅读这里和那里之前,我知道我知道它是什么(无需说出来但我仍然会说,请纠正我错在哪里):
它减轻程序员必须使用transaction.begin()和transaction.begin().如果你有一个调用两个DAO方法的方法,通常每个方法都包含commit()并transaction.begin  包含实际操作并调用它们,那么它将导致两个事务(如果前面的dao方法也应该回滚,则可能存在回滚问题).但是,如果你用transaction.commit你的方法,然后这些人DAO呼叫将被包裹在一个单一的@transactional- begin()周期.当然,如果你使用commit()  DAO,一定不要使用@Transactional和begin() 方法我认为. 
小智 5
您可以Transactions通过两种方式处理您的问题:Programmatically和Declarative。
当您使用transaction.beginand transaction.commit和...时,您将以Transactions编程方式进行处理。这样,您可以更好地控制Transaction边界,但最终会Cross Cutting Concerns在项目中散布很多类似的代码()。
但是以Declarative某种方式,处理的代码Transactions与您的业务逻辑是分开的,并且不会分散在您的整个项目中。这是的主要概念之一Aspect Oriented Programming。
我建议您使用这个链接来解释 Spring Transaction 的所有内容。
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
您还应该看到有关事务的相同属性(传播、rollbackFor 等),如果您使用这些属性,事务行为可能会改变。
| 归档时间: | 
 | 
| 查看次数: | 12615 次 | 
| 最近记录: |