定义


@Around

声明一个方法为环绕通知

参数


value

String value();
可以为切入点表达式,也可以为使用了@PointCut被声明为切入点的方法。

示例


@Aspect  
@Component
@Slf4j
public class LogAspect {
	@PointCut("@annotation(com.example.annotation.Log)")
	public void logAnnotation() { }
	
	@Around("logAnnotation()")
	public void logAround(ProceedingJoinPoint proceedingJoinPoint) {  
		MethodSignature signature = (MethodSignature) proceedingJoinPoint.getSignature();  
		Method method = signature.getMethod();
		log.info(“before method:{}”, method.getName());
		proceedingJoinPoint.proceed();
		log.info(“after method:{}”, method.getName());
	}
}
Link to original