文章目录
简单案例:银行转账
- 在业务层接口上添加Spring事务管理
可以加在某个方法上,也可以添加到接口上对该接口的所有方法开启事务
public interface AccountService {
//配置当前接口方法具有事务
@Transactional
public void transfer(String out,String in ,Double money) ;
}
- 在JdbcConfig中设置事务管理器
//配置事务管理器,mybatis使用的是jdbc事务
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource){
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);
return transactionManager;
}
- 在SpringConfig中开启注解式事务驱动
@EnableTransactionManagement
@Configuration
@ComponentScan("com.itheima")
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class,MybatisConfig.class})
//开启注解式事务驱动
@EnableTransactionManagement
public class SpringConfig {
}
Spring事务角色
1. 事务角色
事务管理员
事务协调员
2. 事务相关配置