对于所有期待Hibernate Validator 5早期版本以体验新的Bean Validation 1.1(JSR 349)特性的您来说,好消息来了。Hibernate Validator 5.0.0.Alpha1现在已经可以在JBoss Maven仓库中通过GAV org.hibernate:hibernate-validator:5.0.0.Alpha1或通过SourceForge下载。
此次发布重点是使Hibernate Validator与Bean Validation 1.1的第一个草稿(1.1.0.Alpha1)保持一致。Hibernate Validator的变更日志因此围绕HV-571展开,该变更作为那些规范变更的占位符。当然,最大的变化是方法验证的正式化,但还有其他一些有趣的新特性。例如
- 在方法验证的配合下,值得看一下ParameterNameProvider接口,该接口有助于识别结果中的ConstraintViolation中失败的参数约束的参数。Path API也得到了扩展,以提供有关失败约束的附加元信息。您可以通过Path.Node#getElementDescriptor获取元素描述符(当然,您需要迭代到第一个叶节点)。元素描述符本身通过ConstructorDescriptor、MethodDescriptor、ParameterDescriptor和ReturnValueDescriptor得到了扩展。
- 支持ConstraintValidator中的容器注入。在这个上下文中查看新的生命周期方法ValidatorFactory#close和ConstraintValidatorFactory#releaseInstance。
- 在配置API中暴露在XML中定义的设置。请参考新的接口 javax.validation.ConfigurationSource,但请注意,也存在后续问题(BVAL-292)。
了解这些新接口和类的最简单方法是查看Hibernate Validator的测试套件,在那里您可以找到所有提到的新功能的测试。
鉴于这是一个早期草案,API还将进行进一步修改。因此,Hibernate Validator 5.0.0.Alpha1不是一个生产版本。另一方面,对于集成者和工具开发者来说,提前评估是否有正确的方向是非常有意义的。
祝您玩得开心!