spring 的 声明事务管理

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

猜你喜欢

转载自blog.csdn.net/qq_40550973/article/details/80768382