Spring AOP:在返回后的方法中获取返回类型

时间:2014-06-07 17:43:15

标签: java spring spring-aop

我试图在Spring AOP中实现after-returning,基本实现工作正常:

public void afterExecution(JoinPoint jp){
    System.out.println("Returning");
    System.out.println("Returning from: " + jp.toString());
            // How to get the return type object here?
}

如何在上面的方法中获取返回类型对象?

这是我在上下文xml文件中添加的内容:

<aop:pointcut id="emplRet" expression="execution(java.lang.String com.model.Employee.get*())"/>
    <aop:aspect ref="aspect">
        <aop:after-returning pointcut-ref="emplRet" method="afterExecution"/>
    </aop:aspect>

请建议。

2 个答案:

答案 0 :(得分:2)

您可以指定

returning="retVal"
在你的切入点表达式中

并为你的方法添加一个参数。您必须在retVal建议中引用绑定值after-returning

Spring AOP documentation.

答案 1 :(得分:0)

让我们通过一个例子来理解这一点:

我有一堂课: enter image description here

对于此getter方法(即getList),我想在我的Aspect类中获取returnType。

我可以使用@AfterReturning批注的 returning 参数访问returnType。

例如: enter image description here

该方法的输出类似于: enter image description here

希望它能弄清楚。