编程式事务管理

来源:互联网 发布:linux设置root密码 编辑:程序博客网 时间:2024/06/05 05:17
<!-- 配置业务层类 -->
<bean id="AccountService" class="cn.muke.spring.demo1.AccountServiceImpl">
<property name="accountDao" ref="accountDao"></property>

<!-- 注入事务管理的模板,哪个类需要事务管理,就在哪个类中注入事务管理的模板 -->
<property name="transactionTemplate" ref="transactionTemplate"></property>
</bean>

<!-- 配置DAO类 -->
<bean id="accountDao" class="cn.muke.spring.demo1.AccountDaoImpl">
<property name="dataSource" ref="dataSource"></property>
</bean>

<!-- 配置事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>

<!-- 配置事务管理的类 Spring为了简化事务管理的代码而提供的类-->
<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="transactionManager"></property>

</bean>

AccountServiceImp.class

public void transfer(final String out, final String in, final double i) {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {

@Override
protected void doInTransactionWithoutResult(TransactionStatus arg0) {
// TODO Auto-generated method stub
accountDao.outMoney(out, i);
int y=1/0;
accountDao.inMoney(in, i);
}

});
}

0 0
原创粉丝点击