1.声明式事务
申明式事务,底层采用的是AOP,动态代理技术支持事务。
AOP中,Spring唯一可以提供的动态代理技术支持,就是代码固定的事务管理,spring提供切面类。
被增强类为业务层代码,增删改必须实现事务支持。
2.基于全XML方式__spring配置文件
1.创建spring提供的切面类bean,DataSourceTransactionManager,交给IOC容器管理。
为事务管理器,配置一个连接池,比如druid。
创建自己写的类bean,被增强类。
2.事务配置到具体方法上,并配置事务的特性。
3.配置事务特性、配置AOP实现事务。
配置文件实现如下:
<bean id="AccountService" class="cn.itcast.service.impl.AccountServiceImpl">
<bean id="transactionManager" class="...DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:atributes>
<tx:method name="add" isolation="" timeout="" read-only="" propagation=""/>
<tx:method name="find*" isolation="" timeout="" read-only="