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

為了賬號安全,請及時綁定郵箱和手機立即綁定

@Transactional能標記私有方法??

視頻12分鐘左右,生成訂單號方法是一個私有方法,打@Transactional注解起作用?事務注解不是只能對非私有方法起作用嗎??而且老師您打了之后idea也不報紅,我的就報紅。

正在回答

1 回答

可以打在私有方法上,但是沒有意義,報紅的原因應該是idea設置的校驗問題

transactional標簽用于將對應包裝的bean設置成一個新的代理bean對象供外部使用,就是說外部調(diào)用這個proxy bean的公共方法時先會調(diào)用開啟事務等的切面工作,若設置成私有方法只能類內(nèi)用this指針調(diào)用,這樣被調(diào)用的bean是其本身,不是proxy對象,因此沒有transactional切面的意義

5 回復 有任何疑惑可以回復我~
#1

浪潮之巔 提問者

多謝老師解惑!明白啦!
2018-12-25 回復 有任何疑惑可以回復我~
#2

浪潮之巔 提問者

老師,我測試了一下,外層的方法出現(xiàn)異常時,內(nèi)層生成訂單號操作也回滾了,并沒有開新事物提交。無論這個方法是私有還是共有都隨著外層一起回滾了。怎么回事呢?
2018-12-25 回復 有任何疑惑可以回復我~
#3

龍蝦三少 回復 浪潮之巔 提問者

這是代碼的失誤。。。不應該定義在private方法的切面上,應該將sequence生成定義成單獨的service,然后用public方法去做切面,現(xiàn)在的代碼實現(xiàn)方式等于是沒有用到service生成的切面
2018-12-26 回復 有任何疑惑可以回復我~
#4

浪潮之巔 提問者 回復 龍蝦三少

嗯嗯,多謝老師,因為這個細節(jié)又去熟悉了事務嵌套的相關知識,的確同類內(nèi)方法調(diào)用,內(nèi)層方法是無法實現(xiàn)事務的,因為內(nèi)層方法是bean本身去調(diào)的不是代理對象,所以aop切不進來事務,只能在另外一個類中定義,核心還是要通過動態(tài)代理實現(xiàn)事務的切面。您的課的確學到了很多,再次感謝!
2018-12-27 回復 有任何疑惑可以回復我~
#5

少年啊c 回復 龍蝦三少

老師可以發(fā)下更改過的代碼嗎,感覺有些地方有些懵
2019-08-03 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消

@Transactional能標記私有方法??

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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