Spring中TransactionTemplate 的配置及使用方法
2017-07-08 17:44
507 查看
1、
在一般的交易类程序中会频繁的使用事务来约束重要或关键的动作,已保证交易行为的整体性和一致性。
下例中是在spring框架中使用JDBC连接数据库的事务示例。
service层源代码如下:
@Override
public void savePj(final String pjdxId, final int pjzt, final ProUser proUser, final int pjjg, final String ejpjjg, final String pjztbs) {
this.transactionTemplate.execute( new TransactionCallback<Object>() {
@Override
public Object doInTransaction(TransactionStatus status) {
switch (pjzt) {
case FwpjConstant.PJZT_AJ:
updateAj(pjdxId, proUser, pjjg, ejpjjg, pjztbs);
break;
case FwpjConstant.PJZT_WSLA:
updateWsla(pjdxId, proUser, pjjg, ejpjjg, pjztbs);
break;
case FwpjConstant.PJZT_DZSD:
// TODO 电子送达评价
break;
}
return status;
}
});
}
2、service配置
<bean id="fwpjService"
class="com.thunisoft.susong51.fwpj.service.impl.FwpjServiceImpl">
<property name="fwpjDao" ref="fwpjDao"></property>
<property name="transactionTemplate" ref="transactionTemplate" />
<property name="ajSsdlrService" ref="ajSsdlrService" />
<property name="dsrService" ref="dsrService"></property>
<property name="proUserService" ref="proUserService" />
<property name="ajService" ref="ajService"></property>
<property name="layyDao" ref="layyDao" />
</bean>3、applicationContext.xml的配置
<bean id="transactionTemplate"
class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="transactionManager" />
</bean>
在一般的交易类程序中会频繁的使用事务来约束重要或关键的动作,已保证交易行为的整体性和一致性。
下例中是在spring框架中使用JDBC连接数据库的事务示例。
service层源代码如下:
@Override
public void savePj(final String pjdxId, final int pjzt, final ProUser proUser, final int pjjg, final String ejpjjg, final String pjztbs) {
this.transactionTemplate.execute( new TransactionCallback<Object>() {
@Override
public Object doInTransaction(TransactionStatus status) {
switch (pjzt) {
case FwpjConstant.PJZT_AJ:
updateAj(pjdxId, proUser, pjjg, ejpjjg, pjztbs);
break;
case FwpjConstant.PJZT_WSLA:
updateWsla(pjdxId, proUser, pjjg, ejpjjg, pjztbs);
break;
case FwpjConstant.PJZT_DZSD:
// TODO 电子送达评价
break;
}
return status;
}
});
}
2、service配置
<bean id="fwpjService"
class="com.thunisoft.susong51.fwpj.service.impl.FwpjServiceImpl">
<property name="fwpjDao" ref="fwpjDao"></property>
<property name="transactionTemplate" ref="transactionTemplate" />
<property name="ajSsdlrService" ref="ajSsdlrService" />
<property name="dsrService" ref="dsrService"></property>
<property name="proUserService" ref="proUserService" />
<property name="ajService" ref="ajService"></property>
<property name="layyDao" ref="layyDao" />
</bean>3、applicationContext.xml的配置
<bean id="transactionTemplate"
class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="transactionManager" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="dataSource" ref="dataSource" /> <property name="sessionFactory" ref="sessionFactory" /> <property name="nestedTransactionAllowed"> <value>true</value> </property> </bean>
相关文章推荐
- spring jdbc 事务配置----TransactionTemplate使用
- Spring中TransactionTemplate 简单灵活的事务配置及使用
- Spring中TransactionTemplate 简单灵活的事务配置及使用
- Spring 配置Hibernate时hibernatetemplate.save()、find()等方法无法使用
- Spring中关于view层的一些配置和使用方法
- spring.net泛型的配置以及使用方法
- spring事务配置方法(TransactionProxyFactoryBean)
- Hibernate和ibatis在同一个webapp中混合使用在spring中的配置方法
- spring整合hibernate使用getHibernateTemplate().save()方法不能输入数据库
- Spring环境中支持多数据库源连接的配置及使用方法
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(五):使用@Component 来简化bean的配置
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(四):使用 命名空间 简化配置
- spring中MessageSource的配置使用方法3--ResourceBundleMessageSource
- spring.net泛型的配置以及使用方法
- OA中总结:s:select,关于使用modelDriven,项目分层,@Transactional,jspf,各个层上配置注解交给spring管理的方法,简单的OGNL表达式写法
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(五):使用@Component 来简化bean的配置
- [注解的力量]Spring 2.5 JPA hibernate 使用方法的点滴整理(五):使用@Component 来简化bean的配置
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(五):使用@Component 来简化bean的配置
- Spring配置中transactionAttributes的使用方法和作用
- spring中MessageSource的配置使用方法1