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)
并摆脱强制转换?