1
@Transaction
开启注解事务后,@Transaction就会生效
测试案例4
4、使用注解配置声明式事务
22222222222222222
77777777777777777777777777777
123456
事务注解@Transactional 注解中的属性配置说明
开启注解的事务声明
声明式事务管理方式三:基于注解的方式
加载测试环境:Spring提供的,@RunWith(SpringJUnit4ClassRunner.class),只有加载它了,才可以使用@Test注解。
加载配置文件:@ContextConfiguration(classpath:相对路径)。
【1】配置事物管理器

【2】开启注解事物

【3】添加注解@Transactional(哪个类上需要事物管理就在哪个类上添加注解)

该注解中也包含一些属性(传播行为、隔离级别、超时、异常),如果不写,都会按默认值来处理。

在需要使用事务的业务实现类前添加 @Transactional 注解,便可引入到事务管理中,同时事务的传播行为、隔离级别等都存在于@Transactional 注解的属性中,根据需求声明赋值便可!
声明式事务管理中,基于注解的方式实现:
默认需要配置 org.springframeword.jdbc.datasource.DataSourceTransactionManager 外;
只需要添加开启注解事务的配置即可:
<tx:annotatioon-drivern transaction-manager="transactionManager">
业务类
添加注解
基于注解的方式
配置文件
配置事务管理器、开启注解事务
方式二的约束
@Transaction注解中的属性
声明式事务管理方式三:基于注解的方式
配置事务管理器,注入连接池
配置(开启)注解事物<tx:annotation-drive ......>,并在其中配置事务管理器
在需要事务管理的类上添加注解@Transaction,可在注解的参数添加一些事务的属性
@Transctional注解中的属性 propagation:事务的传播行为 isoltion;事务的隔离级别 readonly:只读 rollbackFor:发生哪些异常回滚 noRollbackFor:发生哪些异常不回滚
基于注解@Transactional(propagation=Propagation.REQUIRED, ....)中的属性.
基于注解方式的事务控制。在xml中开启注解式事务驱动。在所定义的方法或类前开启注解。
注解的部分含义如下