Spring学习笔记十八---事务的其他属性

package springjdbc.tx;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service("iCashier")
public class CashierImpl implements  ICashier {
    @Autowired
    private IBookShopService iBookShopService;

    //1.传播属性:REQUIRED使用调用方法的事务,REQUIRED_NEW事务自己的事务,调用事务的方法的事务被挂起
    //2.隔离级别
    //3.回滚属性,默认对所有运行时异常进行回滚
    //4.只读属性,只读取数据库值
    //5.timeout单位是秒,强制回滚前,事务占用的时间
    @Transactional(propagation = Propagation.REQUIRED,
                    isolation = Isolation.READ_COMMITTED,
                    noRollbackFor = {UserAccountException.class}, //对UserAccountException不回滚
                    readOnly = false,
                    timeout = 1
    )
    //@Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public void checkout(String userName, List<String> isbns) {
        for (String isbn : isbns) {
            iBookShopService.purchase(userName, isbn);
        }
    }
}


你可能感兴趣的:(Spring学习笔记十八---事务的其他属性)