spring 支持编程式事务和声明式事务
1. 通过编码定义事务
try{
DefaultTransactionDefinition td = new DefaultTransactionDefinition(
TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(td);
// code
transactionManager.commit(status);
}catch(Exception e){
transactionManager.rollback(status);
}
2. 声明式事务
声明式事务管理也有两种常用的方式,一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解。显然基于注解的方式更简单易用