如何通过spring aop更改返回值

时间:2012-12-24 06:28:51

标签: java spring aop

我在DAO层有一个返回值的方法,我想用Spring AOP改变返回值,根据不同的要求,然后发送到SERVICE层的相应方法;但我不知道该怎么做。

1 个答案:

答案 0 :(得分:18)

您可以将@Around方面应用于应修改其返回类型的方法。您可以查看我的blog post,了解如何将Spring AOP facet添加到Spring应用程序,然后编写@Around方面。我将此方面用于方法的Memoizing结果,但在您的情况下,您将获取ProceedingJoinPoint.proceed()的返回值,将其类型化为适当的类,然后修改它并返回它。

如果您计划完全返回一个完全不同的对象,那么这将导致ClassCastException,除非实际返回的对象是返回类型的子类。