java - 将切面转换为原生 AspectJ 表示法

标签 java reflection aspectj aspect aspects

我有这个方面:

public privileged aspect Teste {
private ISupermarket supermarket;

@AfterReturning(pointcut = "execution(* ca1.business.SupermarketFactory.createSupermarket(..))", returning = "result")
    public void afterCreateSupermarket(JoinPoint joinPoint, Object result) {
        supermarket = (ISupermarket) result;
    }
}

问题是我想用 native AspectJ 表示法对其进行编码。

我搜索过,但我得到的最接近的是这个:

void after() returning(result) : pointcut(* ca1.business.SupermarketFactory.createSupermarket(..)) {
    supermarket = (ISupermarket) result;
}

但这给了我一些错误,因为它编码得不好。

谁能帮我解决这个问题吗?

最佳答案

我设法找到答案:

pointcut afterCreateSupermarket():
    call(ISupermarket ca1.business.SupermarketFactory.createSupermarket(..));

after() returning(Object result): afterCreateSupermarket() {
    supermarket = (ISupermarket) result;
}

关于java - 将切面转换为原生 AspectJ 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42878929/

相关文章:

java - 获取 Aspect 中的目标对象并调用目标对象上的另一个方法

java.reflection ProceedingJoinPoint

Java Session失效和超时不起作用

java - 带有用户输入时间的闹钟倒数计时器java

.net - 什么是 System.Reflection.Module?

java - 反射(reflection):如何正确调用无参方法?

java - 如何判断InputStream中是否包含JSON数据?

java - 无法在项目 Spark-core_2.11 上执行目标

java - Java反射有通用的 "back-end"库吗

java - 继承方法的切入点