编写配置文件
适用于小型项目
<!-- 使用spring的事务处理 -->
<!-- 1.声明事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="myDataSource"/>
</bean>
<!-- 2.开启事务注解驱动,告诉spring使用注解管理事务,创建代理对象(中小项目使用注解的方式) -->
<tx:annotation-driven transaction-manager="transactionManager"/>
@Transactional
public int someService() {
...
}
适用于大型项目
<!-- 大型项目事务与代码分离,事务在配置文件中完成 -->
<!-- 1.声明事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="myDataSource" />
</bean>
<!-- 2.声明业务方法的事务属性 -->
<tx:advice id="myAdvice" transaction-manager="transactionManager">
<!-- 配置事务属性
name:方法名
-->
<tx:attributes>
<tx:method name="buy" propagation="REQUIRED" isolation="DEFAULT"/>
</tx:attributes>
</tx:advice>
<!-- 3.配置aop -->
<aop:config>
<!-- 配置切入点 -->
<aop:pointcut id="servicePT" expression="execution(* *..service..*.*(..))"/>
<!-- 配置增强器,关联advice和pointcut -->
<aop:advisor advice-ref="myAdvice" pointcut-ref="servicePT"/>
</aop:config>