我在@service類實現中使用Spring的AOPContext.currentProxy()。然而,我在一個靜態方法使用它,我像做從靜態方法調用AOPContext.currentProxy()
public static void addCustomer() {
//....
((CustomerService) AopContext.currentProxy()).addCustomer();
//...
不過,我得到的錯誤 - 「找不到代理」設置暴露代理爲true。
正在使用靜態方法這種錯誤的原因?
注: 「addCustomer」 方法也提前靜態
感謝。
這是一個biggg錯誤我發現我現有的代碼,並希望檢查是否這樣做這樣做是錯誤的。一個靜態方法不與一個bean相關聯,因此不能通過調用AopContext.currentProxy()來獲得代理。我寫 –
@axtavt:我現在無法測試它,但我不明白爲什麼在靜態方法中調用'AopContext.currentProxy()'沒有任何意義。它從線程局部變量中獲取它的值。也許這是令人困惑的或者不是用戶期望的,但我認爲它必須奏效。 – sinuhepop
@sinuhepop:編輯更清楚,謝謝。 – axtavt