1、首先在spring-mvc-hibernate.xml配置文件中加入 如下语句:
<bean id="txDefinition" class="org.springframework.transaction.support.DefaultTransactionDefinition">
<property name="propagationBehaviorName" value="PROPAGATION_REQUIRES_NEW"></property>
</bean>
2、在要使用编程式事务的ServiceImpl中增加如下语句:
private TransactionDefinition txDefinition;
private PlatformTransactionManager txManager;
@Autowired
public void setTxDefinition(TransactionDefinition txDefinition) {
this.txDefinition = txDefinition;
}
@Autowired
public void setTxManager(PlatformTransactionManager txManager) {
this.txManager = txManager;
}
3、使用编程式事务方法:
...
TransactionStatus status = txManager.getTransaction(txDefinition);
try{
...
txManager.commit(status);
}catch (Exception e) {
txManager.rollback(status);
e.printStackTrace();
}