标签:
Spring事务的使用:
通过注解的方式使用事务
1 配置事务管理器
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
2 启动事务注解
<!-- 启用事务注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
3 添加事务注解
@Transactional
public void checkout(...){
.......
}
注意:
一、事务的传播行为
@Transactional(propagation=Propagation.REQUIRES_NEW)
开启新的事务
@Transactional(propagation=Propagation.REQUIRES)
使用当前事务
一、事务的隔离级别
@Transactional(isolation=Isolation.READ_COMMITTED)
读已提交
使用xml文件声明式事务
<!-- 1. 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 2. 配置事务属性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 根据方法名指定事务的属性 -->
<tx:method name="purchase" propagation="REQUIRES_NEW"/>
<tx:method name="get*" read-only="true"/>
<tx:method name="find*" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<!-- 3. 配置事务切入点, 以及把事务切入点和事务属性关联起来 -->
<aop:config>
<aop:pointcut expression="execution(* com.atguigu.spring.tx.xml.service.*.*(..))"
id="txPointCut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/>
</aop:config>
标签:
原文地址:http://www.cnblogs.com/zoghin/p/5100730.html