2012-09-28 26 views
1

我的項目是基於Spring和Hibernate的。我熟悉Spring AOP。在Spring之前的建議面對問題AOP

有一個要求,無論何時調用DAO層的任何方法(通過服務層),我需要檢查一些邏輯,並基於該DAO層方法應該允許繼續。所以,我正在考慮在這裏使用AOP。所述方面將有一種方法中,用施加到其上的建議之前,這將有一些邏輯和將返回真或相應假以及基於所述布爾值,從一方面返回,DAO方法將被允許繼續做它的持久性邏輯。對於例如如果返回爲真,則會發生DAO持久化過程,如果返回,則不會發生持久性邏輯。

但是,我面臨的挑戰是如何將布爾值的值從Aspect返回到DAO層方法。

是否有可能恢復從通知方法的值(即寫入看點的方法),目標方法建議之前?請幫忙。

回答

0

如果您的DAO可以與'proceed/execute/doStuff'方法共享一個接口,那麼您可以從Advice(或不)中調用它。

如果沒有,爲什麼不給DAO添加一個標誌並將其設置爲建議,然後在DAO檢查它之前,在離開方法之前將其設置回默認狀態。