@Aspect
@Component
public class LoggingAspect{
//声明该方法是一个前置通知:在目标方法开始前执行
@Before("execution(*com.spring.aop.impl.*.*(int, int))")
public void beforeMethod(JoinPoint joinpoint){
String methodName = joinPoint.getSignature().getName();
List<Object> args = Arrays.aslist(joinPoint.getArgs());
System.out.pritln("The method " + methodName + " begins with " + args);
}
//后置通知:在目标方法执行后(无论是否发生异常),执行的通知
//在后置通知中还不能访问目标方法执行的结果
@After("execution(*com.spring.aop.impl.*.*(int, int))")
public void afterMethod(JoinPoint joinpoint){
String methodName = joinPoint.getSignature().getName();
List<Object> args = Arrays.aslist(joinPoint.getArgs());
System.out.pritln("The method " + methodName + " ends");
}
}