23

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

4

1 回答 1

24

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

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

于 2012-12-24T06:37:24.560 回答