事务处理分类
- 编程式事务处理 使用代码 【了解即可】
- 声明事务处理
- xml配置
- 注解式
xml配置声明式事务处理
<!--声明式事务处理xml方式-->
<!--事务管理器 需要数据源-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--配置额外功能-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!--所有方法都增加事务-->
<tx:method name="*"/>
<tx:method name="select*" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!--确定切入点-->
<aop:pointcut id="pt" expression="execution(* com.baizhi.dangdang.service.*.*(..))"></aop:pointcut>
<!--切入额外功还能-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="pt"></aop:advisor>
</aop:config>
注解式事务处理
- spring.xml中配置 事务管理器 开启事务处理
<!--1.配置事务管理器-->
<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--2.开启注解式事务处理-->
<tx:annotation-driven transaction-manager="transactionManager"/>
- 使用注解 @Transactional
@Transactional 可以添加在方法上和类上
添加在方法上 代表该方法开启事务控制
添加类上 代表类中所有方法开启事务控制