Попытка понять разницу между этими двумя подходами
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Abc abc = methodSignature.getMethod().getAnnotation(Abc.class);
vs
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
String methodName = signature.getMethod().getName();
Class<?>[] parameterTypes = signature.getMethod().getParameterTypes();
Abc abc = joinPoint.getTarget().getClass().getMethod(methodName, parameterTypes).getAnnotation(Abc.class);
когда результат этих подходов будет другим