Spring声明事务

Spring声明事务

想想一下这样一个场景,我们同时执行多个jdbc,但是其中有一个错误了,java会把后边的程序停掉,但是前边成功的就成功了,这样并不合理。因此我们需要事务来管理这些程序,使得他们中间有一个出现错误就程序停止并且数据库回滚

Spring中声明事务

这种方法就像是在每一次执行方法是添加一个方法来观察他,和AOP类似,因此我们可以使用类似AOP的方法管理它。并且Spring有专门进行事务的标签

在xml中声明开启事务

固定写法:

1
2
3
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<constructor-arg ref="dataSource"/>
</bean>

配置事务

1
2
3
4
5
6
7
<tx:advice id="transactionInterceptor" transaction-manager="transactionManager">
<!--给那些方法配置事务-->
<tx:attributes>
<tx:method name="add"/>
<!--可以欧多个 也可以是直接使用*代替所有的方法-->
</tx:attributes>
</tx:advice>

将配置好的事务切入

1
2
3
4
5
6
<!--切入事务-->
<aop:config>
<aop:pointcut id="pointcut" expression="execution(* com.dwx.mapper.* (..))"/>
<aop:advisor advice-ref="transactionInterceptor" pointcut-ref="pointcut"/>
</aop:config>

  • advice-ref:只配置好的要插入的事务
  • pointcut-ref:指配置好的插入点
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2023 dwx
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信