Java 将方面转换为本机AspectJ表示法

Java 将方面转换为本机AspectJ表示法,java,reflection,aspectj,aspect,aspects,Java,Reflection,Aspectj,Aspect,Aspects,我有这方面的意见: 公共特权方面测试{ 私人超市; @返回后(pointcut=“execution(*ca1.business.SupermarketFactory.createSupermarket(..)”,returning=“result”) public void afterCreateSupermarket(连接点连接点,对象结果){ 超市=(ISupermarket)结果; } } 问题是,我想用原生AspectJ符号对其进行编码 我搜索了一下,但最接近的是: void aft

我有这方面的意见:

公共特权方面测试{
私人超市;
@返回后(pointcut=“execution(*ca1.business.SupermarketFactory.createSupermarket(..)”,returning=“result”)
public void afterCreateSupermarket(连接点连接点,对象结果){
超市=(ISupermarket)结果;
}
}
问题是,我想用原生AspectJ符号对其进行编码

我搜索了一下,但最接近的是:

void after()返回(结果):切入点(*ca1.business.SupermarketFactory.createSupermarket(..){
超市=(ISupermarket)结果;
}
但这给了我一些错误,因为它没有很好的编码


有人能帮我吗?

我设法找到了答案:

pointcut afterCreateSupermarket():
call(ISupermarket ca1.business.SupermarketFactory.createSupermarket(…);
after()返回(对象结果):afterCreateSupermarket(){
超市=(ISupermarket)结果;
}

如果您想摆脱强制转换和命名切入点,也可以这样做:

after()返回(ISupermarket结果):调用(ISupermarket ca1.business.SupermarketFactory.createSupermarket(..){
超级市场=结果;
}

为什么不直接使用
after()returning(Object ISupermarket)
并摆脱强制转换?