在 spring 中,? 事務(wù)管理一般是通過(guò)聲明一個(gè) txProxyTemplate,? 然后業(yè)務(wù) bean 中 parent = "txProxyTemplate",? 這樣做未免顯得有些繁瑣,? 并且如果業(yè)務(wù) bean 還需要其他攔截器,? 配置也不太方便,? 下面貼出我的配置, 用 DefaultAdvisorAutoProxyCreator 實(shí)現(xiàn)自動(dòng)代理?
- <beans>??
- ????<!--?Transaction?manager? for ?a?single?Hibernate?SessionFactory?(alternative?to?JTA)?-->??
- ????<bean?id= "transactionManager" ??
- ?????????? class = "org.springframework.orm.hibernate3.HibernateTransactionManager" >??
- ??????????<property?name= "sessionFactory" >??
- ??????????????<ref?bean= "sessionFactory" />??
- ??????????</property>??
- ????</bean>?????
- ??????
- ????<bean?id= "transactionInterceptor" ? class = "org.springframework.transaction.interceptor.TransactionInterceptor" >??
- ????????<property?name= "transactionManager" ?ref= "transactionManager" />??
- ????????<property?name= "transactionAttributeSource" >??
- ??????????<value>??
- ????????????com.skyon.user.manager.UserManager.*=PROPAGATION_REQUIRED??
- ????????????#Add? new ?defines?here?->??
- ??????????</value>??
- ????????</property>??
- ????</bean>??
- ??????
- ????<bean? class = "org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" >??
- ????????<property?name= "interceptorNames" >??
- ????????????<list>??
- ????????????????<value>transactionInterceptor</value>??
- ????????????????<!--??
- ????????????????增加新的?Interceptor??
- ????????????????-->??
- ????????????</list>??
- ????????</property>??
- ????</bean>??
- ??
- ????<bean? class = "org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor" >??
- ??????<property?name= "transactionInterceptor" ?ref= "transactionInterceptor" />??
- ????</bean>??
- ??????????
- </beans>??
這里利用 DefaultAdvisorAutoProxyCreator 實(shí)現(xiàn)了對(duì)容器中所有 bean 的自動(dòng)代理,? 增加一個(gè)需要事務(wù)的業(yè)務(wù) bean 時(shí)只要在 transactionInterceptor 增加一行即可,? 增加別的 interceptor 也非常方便,?
極大減少了配置量

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
