最近在学习ssm轻量级框架,在开发时遇到一些问题,我写的代码遇到类似买卖关系,出现一些问题当钱扣了但东西被没有增加,我在书上看到事务管理器具体代码如下:
<bean id="txAdvice" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="myDateSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="open*" propagation="REQUIRED" isolation="DEFAULT"/>
<tx:method name="buyStock*" propagation="REQUIRED" isolation="DEFAULT" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="execution(* *..service.*.*(..))" id="stockPC" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="stockPC"/>
</aop:config>
事务管理还有注解写法:
<bean id="txAdvice" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="myDateSource"/>
</bean>
<tx:annotation-driven transaction-manager="txAdvice"/>
然后在实现类上加入如下代码:
@Transactional(isolation=Isolation.DEFAULT ,propagation=Propagation.REQUIRED,rollbackForClassName="Exception")
这样就可在出现问题是回滚。