注解声明式事务控制的配置要点:
(1)平台事务管理器配置(xml方式)
(2)事务通知的配置(@Transactional 注解配置)
(3)事务注解驱动的配置
(1)平台事务管理器配置(xml方式)(3)事务注解驱动的配置
<!--配置平台事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!--事务的注解驱动--> <tx:annotation-driven transaction-manager="transactionManager"/>
(2)事务通知的配置(@Transactional 注解配置)
@Service("accountService") @Transactional(isolation = Isolation.REPEATABLE_READ) public class AccountServiceImpl implements AccountService { @Autowired private AccountDao accountDao; @Transactional(isolation = Isolation.DEFAULT,propagation = Propagation.REQUIRED) public void transfer(String outMan, String inMan, double money) { accountDao.out(outMan,money); accountDao.in(inMan,money); } }
注解配置声明式事务控制解析
(1)使用@Transactional 在需要进行事务控制的类或是方法上修饰,注解可用的属性同xml 配置方式,例如隔离级别、传播行为等。
(2)注解使用在类上,那么该类下的所有方法都使用同一套注解参数配置。
(3)使用在方法上,不同的方法可以采用不同的事务参数配置
(4)Xml 配置文件中要开启事务的注解驱动 <tx:annotation-driven />