1.配置事务管理器
2.配置事务的通知
此时我们需要导入事务的约束 tx名称空间和约束
tx:advice标签配置事务通知
属性:
id :事务通知的唯一标识
transaction-manager:给事务通知提供一个事务管理器引用
3.配置aop中的通用切入点表达式
4.在aop中建立事务通知和切入点表达式的对应关系
5.配置事务的属性(在tx:advice)
<!--1.配置事务管理器--> <bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!--2.配置事务的通知--> <tx:advice id="txAdvice" transaction-manager="dataSourceTransactionManager"> <!--配置事务的属性--> <tx:attributes> <tx:method name="*" propagation="REQUIRED"/><!--name="*"全通配 propagation="REQUIRED":增删改有事务--> <tx:method name="find*" propagation="SUPPORTS" read-only="true"></tx:method><!--name="find*":部分匹配优先级更高 --> </tx:attributes> </tx:advice> <!--3.配置aop中的通用切入点表达式--> <aop:config> <aop:pointcut id="pt1" expression="execution(* com.lwh.service.impl.*.*(..))"/> <!--4.建立事务通知和切入点表达式的对应关系--> <aop:advisor advice-ref="txAdvice" pointcut-ref="pt1"></aop:advisor> </aop:config> </beans>
转账失败数据库数据修改失败 进行了回滚