getDeclaredField和Annotation

时间:2015-11-27 16:34:37

标签: spring reflection annotations spring-validator

我正在使用springframework验证程序来验证我的应用程序。目前我将我的fieldname作为硬编码字符串传递给验证器。这导致了很多问题,如果模型中的字段名更改,验证将失败。

我已经研究了使用getDeclaredField从模型中获取文件名的反射。但是,此方法返回该类的文件列表,如果需要获取特定字段,则必须传递正确的索引。例如。 fields[8].getName()。因此,如果字段的位置发生变化,我将遇到问题。

我想知道是否还有其他更简单的方法可以将特定的字段名传递给rejectValue?自定义注释会起作用吗?像

@firstName private String firstName;

然后使用getDeclaredAnnotations获取我的字段名?

我现在就是这样做的。

private String           firstName;
private String            lastName;

errors.rejectValue("lastName ", ValidationConstants.INVALID_NULL_OR_BLANK_CODE);

如果我正在使用反射

errors.rejectValue(fields[2].getName(), ValidationConstants.INVALID_NULL_OR_BLANK_CODE);

0 个答案:

没有答案