2012-12-24 46 views
12

我在DAO層有一個返回值的方法,我想通過spring AOP根據不同的需求改變返回值,然後發送到SERVICE層的相應方法;但我不知道該怎麼做。如何通過spring aop更改返回值

+1

我無法幫助您使用Spring AOP,但我強烈建議您發佈一些源代碼,如果您想要從Stackoverflow社區獲得幫助。 – ecbrodie

回答

15

您可以將@Around方面應用於其返回類型應該修改的方法。你可以看看我的blog post關於如何將Spring AOP方面添加到Spring應用程序,然後編寫@Around方面。我用這個方面的方法得到了Memoizing的結果,但在你的情況下,你會得到返回值ProceedingJoinPoint.proceed(),將它轉換爲合適的類,然後修改它並返回它。

如果您計劃完全返回完全不同的對象,那麼將導致ClassCastException,除非實際返回的對象是返回類型的子類。

+0

好的,非常感謝 – cleverUtd