上一篇文章中介绍了Spring事务的xml配置方法,这一篇介绍Spring事务的注解配置方法。
首先给出Spirng事务的注解只有两个
- @EnableTransactionManager
 - @Transactional
 
解释一下两个注解的作用
 第一个:表示启用Spring的事务管理器,那么首先你得给Spring容器注册事务管理器。然后,他会自己去Ioc容器中取PlatformTransactionManager接口的事务管理器。
第二个:这个注解表示1:对谁做事务增强(贴在谁身上就是对谁做事务增强);2做具体什么样的增强(注解的属性就表示具体做怎么样的增强,而且一般的,我们只需要使用默认属性即可)
实例:
 1:注册Spring的事务管理器(不太好实例,酌情观看)
@Configuration
@PropertySource("classpath:com/tutorialspoint/codewolf/tx/demo03/resource/db.properties")
public class DataSourceConfig {
	private String driverClassName = "com.mysql.jdbc.Driver";
	private String url = "jdbc:mysql://localhost:3306/test2";
	private String username = "root";
	private String password = "yuchangyuan";
	private int initialSize = 5;
	// 创建连接池的Bean
	@Bean
	public DataSource dataSource() {
		DruidDataSource ds = new DruidDataSource();
		ds.setDriverClassName(driverClassName);
		ds.setUrl(url);
		ds.setUsername(username);
		ds.setPassword(password);
		// ds.setInitialSize(initialSize);
		return ds;
	}
	@Bean
	public DataSourceTransactionManager dataSourceTransactionManager(DataSource dataSource) {
		return new DataSourceTransactionManager(dataSource);
	}
}2:启用事务管理器
@Configuration // 标识当前类为一个配置类
@ComponentScan("com.tutorialspoint.codewolf.tx.demo03") // IoC注解解析器
@Import(value = {DataSourceConfig.class,TransactionManagerConfig.class})
//或许这个注解,就是去sprint容器中找实现了PlatformTransactionManager接口吧.
@EnableTransactionManagement
public class AppConfig {
	
}3:贴在具体方法上,启用事务

 记住使用事务注解,只有两个注解即可。
 我这里使用的是完全的java代码来配置事务管理器的,没有使用xml来配置。
 好了,谢谢大家,Spring 的事务的注解配置就介绍完了。
                










