【发布时间】:2013-06-13 03:54:26
【问题描述】:
我有一个包含内部 bean 的复合 bean,其中一些内部 bean 也有内部 bean。这个复合 bean 总共有 200 多个属性(这个 bean 的属性 + 内部 bean 的属性)。我正在使用 JSR 303 来验证用户输入。我的要求建议进行跨字段 bean 验证。
我浏览过一些博客和建议,例如 http://dwuysan.wordpress.com/2012/03/20/cross-field-validation-using-bean-validation-jsr-303/ ,关于同样的事情。类似的解释可以在这里找到:Cross field validation with Hibernate Validator (JSR 303)。
两者都建议使用相同的方法来定义跨字段验证的类级别约束。他们的方法是使用 BeanUtils.getProperty() 方法,该方法又在运行时使用 Java Reflections,同时执行 bean 验证.
我想知道,使用在运行时评估(性能下降)的反射来定义 JSR 303 corss-field 约束或通过自定义方法进行 Spring 验证或服务层验证等其他验证策略是否很好?
【问题讨论】:
标签: java reflection bean-validation