加上这个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属性,是否只读