我在DAO层有一个返回值的方法,我想用Spring AOP改变返回值,根据不同的要求,然后发送到SERVICE层的相应方法;但我不知道该怎么做。
答案 0 :(得分:18)
您可以将@Around
方面应用于应修改其返回类型的方法。您可以查看我的blog post,了解如何将Spring AOP facet添加到Spring应用程序,然后编写@Around
方面。我将此方面用于方法的Memoizing
结果,但在您的情况下,您将获取ProceedingJoinPoint.proceed()
的返回值,将其类型化为适当的类,然后修改它并返回它。
如果您计划完全返回一个完全不同的对象,那么这将导致ClassCastException,除非实际返回的对象是返回类型的子类。