Spring 中的事务管理

1. 事务的四个关键属性(ACID)

  • 原子性(atomicity): 事务是一个原子操作, 由一系列动作组成. 事务的原子性确保动作要么全部完成要么完全不起作用.
  • 一致性(consistency): 一旦所有事务动作完成, 事务就被提交. 数据和资源就处于一种满足业务规则的一致性状态中.
  • 隔离性(isolation): 可能有许多事务会同时处理相同的数据, 因此每个事物都应该与其他事务隔离开来, 防止数据损坏.
  • 持久性(durability): 一旦事务完成, 无论发生什么系统错误, 它的结果都不应该受到影响. 通常情况下, 事务的结果被写到持久化存储器中.

2. Spring 中的事务管理器的不同实现

Spring 中的事务管理_第1张图片

3. Spring 的声明式事务管理

3.1 使用配置文件进行事务的声明式管理

    
    
        
    
 

    
        
            
            
                       propagation="REQUIRES_NEW"
                      
                      isolation="READ_COMMITED"   
                      
                      rollback-for="java.lang.IOEXception,java.sql.SQLException"                     
                      no-rollback-for="java.lang.ArithmeticException"/>
            
            
            
                       read-only="true"/>
        
    

    
        
        
         
        
    

3.2 使用@Transactional注解声明式的管理事务

    
    
        
    
    
    

3.2.1 @Transactional注解使用细节

Spring 中的事务管理_第2张图片

3.2.2 @Transactional注解使用示例

Spring 中的事务管理_第3张图片

你可能感兴趣的:(Spring 中的事务管理)