¿Cómo obtiene el método de anotación Spring aop el método de ejecución de destino?
// Clase de entidad de la intercepción
Objeto target = point.getTarget();
// Tipo
Clase[] parámetrosTypes = ((MethodSignature)point.getSignature()).getMethod().getParameterTypes()
Método m = null
try {
//Obtener el método interceptado mediante reflexión
m = target.getClass().getMethod(methodName, parameterTypes);
//Si es un puente obtiene el método interceptado real
if( m.isBridge()){
for(int i = 0; i lt; args.length; i ){
//obtiene el tipo genérico
Class genClazz = GenericsUtils.getSuperClassGenricType( target.getClass());
//reemplaza el tipo en parameterType según el parámetro real escriba
if( args[i].getClass().isAssignableFrom(genClazz)){
parámetrosTypes[i] = genClazz;
}
}
//Obtener el método para el tipo de parámetro parametroType
m = target.getClass().getMethod(methodName, parameterTypes) ;
}
} captura (SecurityException e) {
e.printStackTrace()
} captura (NoSuchMethodException e) {
e.printStackTrace();
}
}
}