@Aspect @Around
时间: 2023-11-10 12:04:28 浏览: 108
Spring Aop实例(AOP 如此简单)@Aspect、@Around 注解方式配置
这是一个 Java 中的注解,用于实现 AOP(面向切面编程)中的环绕通知。@Aspect 用于标识一个切面类,@Around 用于标识一个环绕通知方法。
环绕通知是 AOP 中最强大的通知类型,它可以在目标方法执行前后、抛出异常时、返回结果时等任意时间点执行自定义的逻辑。在环绕通知中,需要手动调用目标方法,并可以通过 ProceedingJoinPoint 对象获取目标方法的参数和返回值。
示例代码:
```
@Aspect
public class LogAspect {
@Around("execution(* com.example.service.*.*(..))")
public Object log(ProceedingJoinPoint joinPoint) throws Throwable {
// 执行目标方法前的逻辑
System.out.println("start executing " + joinPoint.getSignature().getName());
// 执行目标方法
Object result = joinPoint.proceed();
// 执行目标方法后的逻辑
System.out.println("finish executing " + joinPoint.getSignature().getName());
return result;
}
}
```
阅读全文