以前项目中经常用spring,事务处理还没有亲自配置过, 惭愧。现在马上上路.
首先,在spring容器中,配置transactionManager,这个有好多实现,这里以HibernateTransactionManager为例,
| <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> |
然后,再定义一个事务模板
| <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="transactionAttributes"> <props> <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="remove*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="incress*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> |
这个模板怎样应用到业务方法上呢?请看下面的配置
| <!-- <bean id="userService" class="com.sclsch.service.impl.UserServiceImpl"> <property name="userDao"> <ref bean="BmUserDAO" /> </property> </bean> --> <!-- 为userService配置事务--> <bean id="userService" parent="txProxyTemplate"> <property name="target"> <bean class="com.sclsch.service.impl.UserServiceImpl"> <property name="userDao"> <ref bean="BmUserDAO" /> </property> </bean> </property> </bean> |
注释部分是原来没有配置事务的service. parent指定为这个service配置的事务模板.
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 电脑配置手册 (8565篇文章)
- 服务器配置专栏 (11143篇文章)
- Spring开源框架技术 (719篇文章)
- Spring开发技术篇 (303篇文章)
- 在Eclipse中配置Struts2项目 (408次浏览)
- 在Spring中使用JTA事务管理 (252次浏览)
- 在Spring中使用Quartz进行任务调度 (161次浏览)
- Java远程通讯可选技术及原理 (113次浏览)
- 用Java实现FTP批量大文件上传下载(二) (80次浏览)
- 在Spring中如何使用加密外部属性文件 (72次浏览)
- Java初学者必须理解的六个大问题 (69次浏览)
- 专家视点:Java能够替代C语言吗? (59次浏览)
- Java基础知识:初学者必须理解的六大问题 (57次浏览)
- 一着名软件公司的java笔试算法题的答案 (55次浏览)



