Spring+Mybatis整合笔记-使用AOP进行事务控制

Author Avatar
yizhiyan 1月 19, 2019

在原本的配置文件中新增以下

 <!-- 事务管理器 --> <bean id="txMannager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 引用数据源 --> <property name="dataSource" ref="dataSource"/> </bean> <!-- 事务增强 --> <tx:advice id="txAdvice" transaction-manager="txMannager"> <!-- 事务规则 --> <tx:attributes> <!-- 使用通配符 --> <!-- 所有find开头的方法都加到事务里面来 --> <!-- timeout超时时间-1永不抄手,单位秒 --> <tx:method name="find*" timeout="-1"/> <!-- propagation传播属性,表示这些方法总是在事务里面,如果不在就创建一个事务 --> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- 在那些方法上执行事务,方法在哪个包下面,通过切面来进行配置 --> <aop:config> <!-- 配置切入点 --> <aop:pointcut id="myPoint" expression="execution(* cn.smbms.service..*.*(..))"/> <!-- 为方法织入事务的增强 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="myPoint"/> </aop:config>

我对于spring事务的理解就是,在调用方法的时候通过aop切面织入我们配置的事务处理增强人,然后通过事务增强里面的规则进行事务处理。

发表评论

电子邮件地址不会被公开。 必填项已用*标注