首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

Spring 事宜简化配置

2012-07-22 
Spring 事务简化配置在 spring 中,? 事务管理一般是通过声明一个 txProxyTemplate,? 然后业务 bean 中 par

Spring 事务简化配置

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

Java代码??Spring 事宜简化配置
  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 事宜简化配置

热点排行