Spring 事务简化配置

系统 1724 0

在 spring 中,  事务管理一般是通过声明一个 txProxyTemplate,  然后业务 bean 中 parent = "txProxyTemplate",  这样做未免显得有些繁琐,  并且如果业务 bean 还需要其他拦截器,  配置也不太方便,  下面贴出我的配置, 用 DefaultAdvisorAutoProxyCreator 实现自动代理 

Java代码   收藏代码
  1. <beans>  
  2.     <!-- Transaction manager  for  a single Hibernate SessionFactory (alternative to JTA) -->  
  3.     <bean id= "transactionManager"   
  4.            class = "org.springframework.orm.hibernate3.HibernateTransactionManager" >  
  5.           <property name= "sessionFactory" >  
  6.               <ref bean= "sessionFactory" />  
  7.           </property>  
  8.     </bean>     
  9.       
  10.     <bean id= "transactionInterceptor"   class = "org.springframework.transaction.interceptor.TransactionInterceptor" >  
  11.         <property name= "transactionManager"  ref= "transactionManager" />  
  12.         <property name= "transactionAttributeSource" >  
  13.           <value>  
  14.             com.skyon.user.manager.UserManager.*=PROPAGATION_REQUIRED  
  15.             #Add  new  defines here ->  
  16.           </value>  
  17.         </property>  
  18.     </bean>  
  19.       
  20.     <bean  class = "org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" >  
  21.         <property name= "interceptorNames" >  
  22.             <list>  
  23.                 <value>transactionInterceptor</value>  
  24.                 <!--  
  25.                 增加新的 Interceptor  
  26.                 -->  
  27.             </list>  
  28.         </property>  
  29.     </bean>  
  30.   
  31.     <bean  class = "org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor" >  
  32.       <property name= "transactionInterceptor"  ref= "transactionInterceptor" />  
  33.     </bean>  
  34.           
  35. </beans>  


这里利用 DefaultAdvisorAutoProxyCreator 实现了对容器中所有 bean 的自动代理,  增加一个需要事务的业务 bean 时只要在 transactionInterceptor 增加一行即可,  增加别的 interceptor 也非常方便, 
极大减少了配置量

Spring 事务简化配置


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论