面试:Spring中事务管理支持哪几种方式以及每种方式的具体使用方法。
答案:
实现方式两种:
一:编码方式;
TransactionManager transactionManager = new DataSourceTransactionManager();
TransactionDefiniton td = new DefaultTransactionDefinition();
// transactionManager 是某一个具体的 PlatformTransactionManager实现类 的对象
TransactionStatus ts = transactionManager.getTransaction(td);
try {
// 这里是需要进行事务处理的方法调用
} catch (Exception e) {
transactionManager.rollback(ts);
throw e;
}
transactionManager.commit(ts);
二:声明式事务管理方式。
声明式事务管理是通过AOP技术实现的,实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完成目标方法后根据执行情况提交后回滚事务。
声明式事务管理有两种方式:基于XML配置文件(拦截器 AOP),通过标签@Transaction注解
网友评论