加上这个spring-tx包,当然spring包AOP包数据库包等这里就不说了。
用xml配置事务:
<!--事务管理器-->
<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 配置事务的增强 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!--
isolation="DEFAULT" 隔离级别
propagation="REQUIRED" 传播行为
read-only="false" 只读
timmeout="-1" 过期时间
rollback-for="" -Exception
no-rollback-for="" +Exception
-->
<tx:method name="transfer" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!-- 配置AOP事务 -->
<aop:config>
<aop:pointcut expression="execution(*service.*(..))" id="sw"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="sw"/>
</aop:config>
-----------------------------------------
用注解配置事务管理,超简单:
直接上图吧。
xml配置文件中,开启事务注解。
@Transactional(isolation =Isolation.REPEATABLE_READ,propagation =Propagation.REQUIRED,readOnly = false)
isolation属性是设置事务的隔离级别
propagation属性是设置事务的传播行为
readOnly属性,是否只读