2017/2/7 专注力培养 每日总结规划

  上午主要围绕着validate查看相关资料,缘由是之前有一个通用的属性校验利用java反射机制做的,但是却只能校验pojo的第一层属性,如果pojo中包含另外的成员类就无法校验此成员内部的属性。

public static String validateInputParameters(Object request_pojo,Map<String,String> validatePairs,String request_id) {
        if(request_pojo == null){
            log.error(String.format("uuid %s:请求json为空",request_id));
            return "请求参数为空!";
        }
        try {
            for(Map.Entry<String, String> entry : validatePairs.entrySet()){
                Object value = ReflectUtils.getValueByFieldName(request_pojo, entry.getKey());
                if(value==null || StringUtils.isEmpty(value.toString())){
                    log.error(String.format("uuid %s: 请参参数有误,%s",request_id, entry.getValue()));
                    return entry.getValue();
                }else if(value instanceof List<?>){
                    if(((List<?>)value).size()==0){
                        log.error(String.format("uuid %s: 请参参数有误,%s",request_id, entry.getValue()));
                        return entry.getValue();
                    }
                }
            }
        } catch (Exception e) {
            log.error(String.format("uuid %s:系统错误,验证必填入参时出错", request_id),e);
            return "系统繁忙!";
        }
        
        return OrderContants.SUCCESS;
    }

public static Object getValueByFieldName(Object obj, String fieldName) {
        Field field = getFieldByName(obj, fieldName);
        Object value = null;
        if(field == null) {
            return null;
        }
        try {
            /* 通过一对存储器方法(getter / setter)导出的一个属性 */
            PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, obj.getClass());
            value = descriptor.getReadMethod().invoke(obj, new Object[] {});
        } catch (IllegalAccessException e) {
            logger.info(e.getMessage());
        } catch (IllegalArgumentException e) {
            logger.info(e.getMessage());
        } catch (InvocationTargetException e) {
            logger.info(e.getMessage());
        } catch (IntrospectionException e) {
            logger.info(e.getMessage());
        }
        return value;
    }

在寻找方案的时候发现自己看着看着 思想就跑远了,刚过完年发现自己进入状态很慢,有点精神涣散。如何看待工作?business。

下午从java api入手 开始是Object 延伸到 Class,

原文地址:https://www.cnblogs.com/Luke-wang/p/6373368.html