@Configuration
@EnableTransactionManagement // 开启注解式事务驱动
@ComponentScan({"dao","service","aop"})
@PropertySource("classpath:druid.properties")
@Import({DataSourceConfig.class,MybatisConfig.class})
public class SpringConfig {
}
// 注入一个事务管理器
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource){
// jdbc和mybatis默认的
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);
return transactionManager;
}
在要加事务的方法上面写@Transactional,本质还是Aop生成代理对象,对目标方法进行增强
增强的逻辑Spring已经提供好了
# 事务传播行为propagation
# 解决事务嵌套问题