Spring从入门到放弃N

Transaction(事务)

不知道诸位有没有发现一个问题,很多的术语是在被翻译之后才变得晦涩难懂的。Transaction的字面意思是交易,本质属性就是一手交钱一手交货。

举个简单的例子,如果我们去ATM取钱,我们在ATM取了多少钱必须要立刻反馈到银行,银行要立刻更新我们的账户余额,并及时反馈给ATM机。假如在这个流程中银行没有考虑数据的一致性和同步性,就可能会出现取钱成功但是账户没有扣款,或是存钱成功但是账户没有进账。

Transaction的作用和并发操作中数据的线程安全是一样的,都是确保在经过一系列的操作之后数据在系统任何位置都保持一致。对于数据敏感型的应用,transaction是很重要的一个环节。

在Spring中实现transaction很简单。我们只需要完成以下两个步骤:

  1. 在需要进行transaction的方法上添加注释
@Transactional
public class TransactionClass{
        public Object getObject(String name);
}

@Transactional的注释会默认将类中所有public的方法添加transaction属性。我们可以对@Transactional的属性进行设置

  1. 在spring配置xml中添加
  
          
    

DataSourceTransactionManager是Spring jdbc中一个默认Transaction管理器,它可以通过的配置找到所有的@Transactional注解进行管理。

你可能感兴趣的:(Spring从入门到放弃N)