Spring事务管理的三种方式

阅读更多
   一 、第一种:全注解声明式事务

    
     
    
    
    
    
    
        
        
        
        
    
 
    
    
        
        
        
    
 
    
    
        
    
    
    
    
    
        
          
          
    
    

   使用时:在需要事务控制的类上加上@Transactional注解就可以了。

   二、第二种:使用tx标签配置的拦截器声明式事务

  
      
       
      
      
      
      
      
          
          
          
          
      
   
      
      
          
          
          
      
      
      
      
          
      
      
      
          
              
              
              
          
      
      
      
          
          
      
      
   
      
      
          
            
            
      
      
  

    三、 第三种:使用拦截器声明式事务 


    
     
    
    
    
    
    
        
        
        
        
    
 
    
    
        
        
        
    
    
        
      
         
       
        
        
        
            
            
            	
                PROPAGATION_REQUIRED
                PROPAGATION_REQUIRED    
                
            
      
        
            
                
                *ServiceImpl  
                
            
            
                
                transactionInterceptor    
                
            
        
    
 
    
    
        
          
          
    
    

 

 Spring事务的传播属性:

 PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 
 PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。 
 PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。 
 PROPAGATION_REQUIRES_NEW -- 新建事务,如果当前存在事务,把当前事务挂起。 
 PROPAGATION_NOT_SUPPORTED -- 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 
 PROPAGATION_NEVER -- 以非事务方式执行,如果当前存在事务,则抛出异常。 
 PROPAGATION_NESTED -- 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与  PROPAGATION_REQUIRED类似的操作。 

 

 转载请注明出处:http://xieke90.iteye.com/blog/2260045

 

  • spring_transaction.rar (6.3 MB)
  • 下载次数: 17

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