问题描述
- net.sf.oval和hibernater-validator的区别?选哪个?
-
项目中需要对传进来的参数进行校验,在一个工具类里面同时用了这两个框架进行验证。查找资料得知,Hibernate Validation是对Bean Validation规范的实现(通俗的说就是实现了接口对不对,javax.validation.Validation.buildDefaultValidatorFactory()方法返回的是一个ValidatorFactoryImpl的实例),oval是否和Hibernate Validation类似,这两个框架的区别和相同点是什么?一般来说,_是否有必要同时使用两者进行校验,如果要选择的话,哪个更好一些_?
解决方案
两者大同小异,实现的原理也差不多,没有必要同时校验。因为校验是否安全可靠取决于你的配置和逻辑,而不是框架。相同的逻辑两个各自验证一次毫无意义。
相比较而言,net.sf.oval更灵活,hibernater-validator更简单。根据你的需要自己选择一个好了。
解决方案二:
hibernater-validator依赖于validation-api,说明这个框架是实现了bean validation规范的,从测试中也可以看出,既可以使用javax.validation包下的注解来做校验,也可以使用自身的注解;而oval不依赖于validation-api,也不可以使用javax.validaton包下的注解,这是否说明oval框架没有遵守bean validation规范?
时间: 2024-11-08 12:18:07