<!-- 定义jdbc事务管理器(声明式的事务) -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 定义事物模板) -->
<bean id="jdbcTransactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager">
<ref bean="jdbcTransactionManager" />
</property>
</bean>
<!-- service中引入事物 -->
<bean id="BaseService " class="com.service.itemBaseinfoService">
<property name="transactionTemplate"><ref bean="jdbcTransactionTemplate"/>
</property>
</bean>
//service接口引入事物
public class BaseService
{
private TransactionTemplate transactionTemplate;
public TransactionTemplate getTransactionTemplate()
{
return this.transactionTemplate;
}
public void setTransactionTemplate(TransactionTemplate template)
{
this.transactionTemplate = template;
}
}
//方法中使用事物
getTransactionTemplate().execute(
new TransactionCallbackWithoutResult() {
protected void doInTransactionWithoutResult(
TransactionStatus arg0) {
getItemBaseinfoDomain().deleteItemBaseinfo(goodId);
}
});
注:TransactionCallbackWithoutResult是个抽象类,不能直接实例化,只能用于创建匿名内部类
(转载请注明出处)