事务管理两个接口
1,使用jdbc和mybatis是使用DataSourceTrancationManager
2,使用hibernate时使用hibernateTrancationManager
声明式事务(xml)
配置文件中配置
<!-- 配置事务管理器 -->
<beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入DataSource -->
<propertyname="dataSource"ref="dataSource"></property>
</ bean > <!-- 配置增强 -->
<tx:advice id="txadvice" transaction-manager="transactionManager">
<!-- 设置事务参数值 :传播行为、隔离级别、超时、是否只读,不设置有默认值-->
<tx:attributes>
<tx:method name="account*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!-- 配置切面 -->
<aop:config>
<!-- 切入点 -->
<aop:pointcut expression="execution(* cn.itcast.pool.UserService.*(..))" id="p1"/>
<!-- 切面 -->
<aop:advisor advice-ref="txadvice" pointcut-ref="p1"/>
</aop:config>
声明式事务(注解)
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 开启事务注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
第三步在要使用事务的方法所在类上面添加注解
@Transactional