Sea*_*oyd 8 java aop spring pointcuts spring-aop
我有一个带有许多方法的服务接口,所有这些方法都接受一个Request对象并返回一个Response对象.所有请求对象都有一个共同的祖先,所有响应对象都有一个不同的共同祖先(它有一个成功标志和一个消息字段).
现在,我希望有一个检查权限等的方面,执行服务调用并返回带有失败代码的Response对象(如果有任何失败).问题是:我需要知道要创建什么类型的Response对象.是否有切入点表达式,使我可以访问返回类型?也许是这样的事情?
@Around(value = "execution(public *"
+ " com.mycompany.MyService+.*(..))"
+ " && args(request)"
+ " && returning( returnType)" // something like this would be nice
, argNames = "request,returnType")
public Object handleServiceCall(final ProceedingJoinPoint pjp,
final Request request,
final Class<? extends Response> returnType){ ... }
Run Code Online (Sandbox Code Playgroud)
Javadoc JoinPoint提到了一个getSignature()方法,它的返回类型Signature有一个MethodSignature你可以尝试转换的子接口,它有一个方法getReturnType(),可能就是你要找的东西.
| 归档时间: |
|
| 查看次数: |
5843 次 |
| 最近记录: |