【问题标题】:How to get execution() pointcut's return type in @Around aspect?如何在@Around 方面获取 execution() 切入点的返回类型?
【发布时间】:2013-03-19 12:36:04
【问题描述】:

我正在为我们系统的方法输入验证写一些方面:

  1. 每个方法的返回对象都派生自一个公共基类,该基类具有一个包含返回代码的属性。
  2. 切入点定义要拦截的包
  3. 编写验证方法输入的方面。如果验证成功,则继续()执行方法。如果失败,设置方法返回对象的返回码属性,直接返回。

我的问题是:除了基类,如何获取真正的返回对象类?我只能知道我应该返回的基类,而不是真正的类。我在 ProceedingJointPoint 中一无所获,getSignature() 只有类名...

【问题讨论】:

    标签: java aop aspectj spring-aop


    【解决方案1】:

    要获得方法的返回类型,您必须将 ProceedingJoinPoint 的签名转换为 MethodSignature (http://www.eclipse.org/aspectj/doc/next/runtime-api/org/aspectj/lang/reflect/MethodSignature.html)。这将为您提供 .getReturnType() 方法,该方法应为您提供您想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多