读取分配给注释字段的值

时间:2015-05-14 01:48:34

标签: java spring hibernate validation spring-mvc

我是JAVA 8和SPRING MVC的新手。我有一个java bean,它是一个带有setter和getter的POJO。我使用反射的Spring Web服务将请求参数映射到POJO。 我想使用注释进行输入验证。我有一个要求,我需要读取注释字段的所有值,并检查至少提供一个值。我写了一个示例代码....但不知道如何获得分配给现场的价值。如果您有以下内容,请分享示例代码:

public boolean isValid(String object, ConstraintValidatorContext constraintContext) {

    boolean canProceed = false;
    for(Field field  : DocumentSearchRequest_global.class.getDeclaredFields())
    {

        if (field.isAnnotationPresent(ValidDocumentModifiedDate.class))
            {
                String name = field.getName();
      //IAM ABLE TO GET THE NAME OF THE FIELD
                System.out.println("1.name :   "+ name); 
                System.out.println("2.            "+field.getType().getName());


            }
    }
   // Method[] method = DocumentSearchRequest_global.class.getDeclaredMethods();
   for (Method  method :DocumentSearchRequest_global.class.getDeclaredMethods() )
   {
       System.out.println(method.getName() );
      //ABLE TO GET NAME OF THE GETTER AND SETTER METHODS IN THE POJO
     //CAN U SUGGEST HOW TO READ THE VALUE OF A PARTICULAR FIELD.. EITHER BY       //GETTING THE VALUE FROM THE GET METHOD??? ...
   }

1 个答案:

答案 0 :(得分:0)

您可以通过调用method.invoke(Object, Object...)来获取值,其中第一个参数是要在哪个方法上执行的类实例,第二个变量参数是方法的参数。在你的情况下,它将为null或为空。这是简单的代码段Object value = method.invoke(DocumentSearchRequest_global_instance);