spring宣告事務失效問題(二)

2021-07-30 16:21:12 字數 539 閱讀 8838

上次談到spring的aop無法攔截內部方法呼叫時,解決方案之一是重新獲取**類呼叫b方法。

下面說一下如何獲取到**bean。

1、如果知道beanname直接通過上下文獲取到bean。

在action中呼叫時可以先呼叫spring提供的介面

aopcontext.setcurrentproxy(proxy)。

該介面原理就是將**bean放到執行緒變數中

public abstract class aopcontext 

return proxy;

} static object setcurrentproxy(object proxy)

else

return old;

}}

當需要呼叫時,則呼叫介面((beanclass) aopcontext.currentproxy()).b();

如果在配置中將

expose-proxy設定為true,則直接獲取就可以了:

"true"

>  

spring事務失效

遇到的問題 前端時間我在做乙個父子事務巢狀的時候,出現了子事務失效。在同類的子事務上加事務註解一直都不能建立事務,後來發現是子事務失效了。下面總結一下事務失效情況和解決經驗 事務失效有如下幾種情況 沒有transaction註解 事務沒有丟擲runtimeexception異常到方法上 方法內丟擲r...

Spring 事務失效

1.丟擲檢查異常導致事務不能正確回滾 service public class service1 2.業務方法內自己 try catch 異常導致事務不能正確回滾 service public class service2 catch filenotfoundexception e 解法2 手動設定...

Spring事務失效總結

每天多學一點點 話不多說,這就開始吧 3.propagation.requires new 4.結語 年底太忙,沒什麼時間研究細節。近兒得空,看了看之前寫的 細想之下,發現很多事務其實沒生效。細思極恐,在這裡記錄一下,方便日後複習。transactional propagation propagat...