注解式事务
重要提示
在基于 Hasor 和 Guice 技术中可以使用如下方式:
import net.hasor.dbvisitor.transaction.Transactional;
public class TxExample {
@Transactional(propagation = Propagation.REQUIRES)
public void exampleMethod() {
...
}
}
原始应用
原始应用是指没有借助任何字节码增强技术的应用程序,或者在不具备字节码增强的情况中使用注解事务。
对象增强
DataSource dataSource = ...
TxExample txExample = ...
// 增强 txExample 对象
// - 为 txExample 对象生成一个代理对象,代理对象会在原始对象上提供拦截器。
txExample = TransactionHelper.support(txExample, dataSource);
txExample.exampleMethod(); // 代理对象会处理 @Transactional 注解