1、Spring的事务管理机制 隔5传7
Spring事务管理高层抽象包括3个接口,Spring的事务主要有他们来提供完成
1、PlatformTransactionManager:事务管理器-->主要用于平台相关事务管理
2、TransactionDefinition:事务定义信息(隔离、传播、超时、只读)
3、TransactionStatus:事务具体的运行状态-->事务管理过程中,每个时间点事务的状态信息
4、 ** springJDBC和mybatis事务管理器都是使用dataSourceTransactionManager
Hibernate使用的是HibernateTransactionManager
5、事务的结束行为:回滚、提交-->最终都是提交
6、xml配置方式添加事务管理(tx、aop元素)
【操作思路】:aop三步走
(1)确定目标:需要对AccountService的transfer方法,配置切入点
transfer方法指在service层的方法,此方法调用了dao层的两个方法 转出钱、转入钱
(2)需要Advice(环绕通知),方法前开启事务,方法后提交关闭事务
(3)配置切入点事务
【1】配置事务管理器
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
【2】注入数据源
<property name="dataSource" ref="dataSource">
</bean>
【3】配置事务通知
<tx:advice id="txAdvice">
</tx:advice>
7、注解形式的事务配置
【扫描注解】
【事务管理器】
【配置事务的注解驱动】
<tx:annotation-driven>
@Transaction 在service方法上也可以在类上