aspect 实现aop 遇到lambda 表达式 this::test()怎么使用
时间: 2023-02-09 13:27:42 浏览: 141
Spring 使用AspectJ 实现 AOP
使用 AspectJ 实现 AOP 的时候,你可以使用 this::test 来引用类内部的方法 test。例如:
```
@Aspect
class MyAspect {
@Before("execution(* *(..)) && @annotation(LogExecutionTime) && this(target)")
public void logExecutionTime(JoinPoint joinPoint, Object target) {
// ...
}
}
class MyClass {
@LogExecutionTime
public void test() {
// ...
}
}
```
上面的代码中,MyAspect 类的 logExecutionTime 方法会在所有带有 @LogExecutionTime 注解的方法被执行之前执行。使用 this(target) 可以将目标方法的执行对象作为参数传入。
阅读全文