import org.springframework.transaction.support.TransactionTemplate;
@Autowired
private TransactionTemplate transactionTemplate;
public T methodName(T parameter1, T parameter2, ...) {
Object result = (Object)transactionTemplate.execute(status->
try{
...
if (不满足事务要求)
status.setRollbackOnly();
...
} catch (Exception e) {
e.printStackTrace();
status.setRollbackOnly();
});
}
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.transaction.support.TransactionCallback;
@Autowired
private TransactionTemplate transactionTemplate;
public T methodName(T parameter1, T parameter2, ...) {
boolean result = transactionTemplate.execute(new TransactionCallback<Boolean>() {
@Oveeride
public Boolean doInTransaction(TransactionStatus status) {
try {
...
if (不满足事务要求)
status.setRollbackOnly();
...
} catch (Exception e) {
e.printStackTrace();
status.setRollbackOnly();
}
}
});
}