2016-04-28 33 views
0

如果我將一個名爲public void delete(int id);的服務方法作爲切入點,我想在它上面添加一個後續的建議,但我不知道刪除了哪種對象(但是,調用該服務的servlet知道該類型值),所以我想知道是否可以在激活後向返回後的建議傳遞自定義值,如'user'。我已經在Spring的網站上查看了相關文檔,但我仍然一無所知。我會很感激你的答案,THX。如何將定製的值傳遞給spring aop的建議?

+0

你有一個'void'方法,所以什麼都不會返回,所以'AfterReturning'有點無用。你想達到什麼目標? –

回答

0

一個解決方案,但在服務方法

1)重構

public class DeleteRequest { 
    String type; 
    Long id; 
} 

public boolean delete(DeleteRequest request){ // impl} 

2的需要重構)使用around通知 2.1)在進行方法執行,讀取傳遞的參數&得到被刪除對象「XYZ」要求。 2.2)刪除方法執行的捕獲結果 如果它是TRUE那麼你的東西

注意:我用這種方法刪除實體通知。那麼我們如何才能在after-advice中獲得被刪除的實體信息,因此在將其保存在實體信息之前,階段&在成功執行後使用它。

相關問題