上次談到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...