第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

都說聲明式事務管理是基于AOP的 但是我不明白 我調(diào)用我的代碼 spring是怎么插一杠子

都說聲明式事務管理是基于AOP的 但是我不明白 我調(diào)用我的代碼 spring是怎么插一杠子

胡說叔叔 2019-03-14 18:15:24
Spring提供的事務管理有兩種方式,編程式的和聲明式的. 編程式的繁瑣,我一般不喜歡用.最喜歡的一種是利用Spring封裝的aspectJ, 利用Aop來管理事務很方便的.applicationcontext.xml1首先創(chuàng)建一個事務管理器<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory">  </property>  </bean>2聲明一個通知, 并聲明此通知受某一個事務管理器管理<tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" /> <tx:method name="*" readonly="true" /> </tx:attributes> </tx:advice>上面的一段話說明了txAdvice受transactionManager事務管理器管理, 并且管理save打頭的方法. 其余的都不使用事務管理.3最后利用advisor配置advice的切入點.<aop:config> <aop:advisor advice-ref="txAdvice"pointcut="execution(pulic * *..*.service.*.*(..))"></aop:advisor> </aop:config>這樣, 只要經(jīng)過service層就會進入事務管理.(begin - save - commit)動態(tài)代理我想問為什么 經(jīng)過service層就會進入事務管理 別說動態(tài)代理 具體是怎么做的
查看完整描述

5 回答

?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

我想這個問題的關鍵在于理解AOP上。

面向切面(AOP)的實現(xiàn)很大程度上依賴的是控制扭轉(zhuǎn)(IOC),這兩個概念就不詳細說了,百度一下都能找到。

關鍵點在于控制扭轉(zhuǎn)上,正常的程序控制是有由你,也就是編程者進行的。而控制扭轉(zhuǎn)后,實際上程序的控制著是實現(xiàn)控制扭轉(zhuǎn)的框架,這里就是Spring。所以你有一個很關鍵的誤解,就是我調(diào)用我的代碼。實際上調(diào)用你代碼的不是你,而是框架,既然調(diào)用你程序的是框架,那它自然就有機會去查詢你的代碼里是否有面向切面的配置,如果有,它也有機會去執(zhí)行這些配置


查看完整回答
反對 回復 2019-04-25
?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

關鍵字:動態(tài)代理.多學習如何利用搜索引擎獲取知識


查看完整回答
反對 回復 2019-04-25
?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

前段時間剛好寫過一篇文章,《Spring AOP的實現(xiàn)原理》


查看完整回答
反對 回復 2019-04-25
  • 5 回答
  • 0 關注
  • 728 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號