Reflexión y AOP: obtener el nombre de la variable y el valor de la variable

Reflexión: obtener el nombre de la variable y el valor de la variable

Caso:

public class Test{
    
    
    private static Map<String, String> fieldMap = new HashMap<>();
 
    /**
     * 发布A
     */
    public static final String PUBLISH_A= "";
    /**
     * 新建A
     */
    public static final String CREATE_A= "";
 
    static {
    
    
        Field[] fields = Test.class.getDeclaredFields();
        fieldMap = new HashMap<>();
        for(Field field : fields) {
    
    
            try {
    
    
                fieldMap.put(field.getName(), field.get(Test.class).toString());
            } catch (IllegalAccessException e) {
    
    
                e.printStackTrace();
            }
        }
    }
 
    public static String findCode(String code) {
    
    
        return fieldMap.get(code);
    }
}

Referencia: https://blog.csdn.net/gaoshan12345678910/article/details/84305475

Bloque de código estático estático
Función: completa la inicialización de fieldMap, fields es un método de reflexión, obtiene todos los campos declarados y almacena el nombre y el valor de la variable en el mapa, donde las variables son todas String

Reflexione para obtener el contenido de otros valores de variable:
https://blog.csdn.net/zknxx/article/details/46121057

Obtenga el nombre y el valor del parámetro de entrada a través de la reflexión en la sección

private Map<String, Object> getParaNameAndValue(ProceedingJoinPoint joinPoint) {
    
    
        Map<String, Object> param = new HashMap<>();
        Object[] paramValues = joinPoint.getArgs();
        Signature signature = joinPoint.getSignature();
        String[] paramNames = null;
        if (signature instanceof CodeSignature) {
    
    
            paramNames = ((CodeSignature) signature).getParameterNames();
        }
        for (int i = 0; i < paramNames.length; i++) {
    
    
            param.put(paramNames[i], paramValues[i]);
        }
        return param;
    }

Supongo que te gusta

Origin blog.csdn.net/weixin_38370441/article/details/115265568
Recomendado
Clasificación