Java bean validation 规范与参考实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java bean validation 规范与参考实现相关的知识,希望对你有一定的参考价值。

1、Apache Bval

依赖包:validation-api-1.1.0.Final.jar

    org.apache.bval.bundle-1.1.1.jar

    bval-core-1.1.1.jar

validator实现类:org.apache.bval.jsr.ApacheValidationProvider

2、Hibernate Validator

依赖包:validation-api-1.1.0.Final.jar

    hibernate-validator-5.3.0.Alpha1.jar

validator实现类:org.hibernate.validator.HibernateValidator

 

Hibernate Validator 自带了基本的中文国际化的消息资源文件

spring集成Java bean validation
1、spring除了要指定validator或指定国际化的消息资源文件,否则不需要添加初始化validator配置,spring会自动识别存在的validator库

    <!-- 启用annotation并指定validator -->
    <annotation-driven validator="validator" />
    <beans:bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <beans:property name="providerClass" value="org.apache.bval.jsr.ApacheValidationProvider" />
        <!-- 如果不加默认到 使用classpath下的 ValidationMessages.properties -->
        <beans:property name="validationMessageSource" ref="messageSource" />
    </beans:bean>

    <!-- 国际化的消息资源文件(本系统中主要用于显示/错误消息定制) -->
    <beans:bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <beans:property name="basenames">
            <beans:list>
                <!-- 在web环境中一定要定位到classpath 否则默认到当前web应用下找 -->
                <beans:value>classpath:messages</beans:value>
                <beans:value>classpath:org/hibernate/validator/ValidationMessages</beans:value> 
            </beans:list>
        </beans:property>
        <beans:property name="useCodeAsDefaultMessage" value="false" />
        <beans:property name="defaultEncoding" value="UTF-8" />
        <beans:property name="cacheSeconds" value="60" />
    </beans:bean>

参考文献:http://jinnianshilongnian.iteye.com/blog/1990081

     http://blog.csdn.net/wangpeng047/article/details/41726299

 

以上是关于Java bean validation 规范与参考实现的主要内容,如果未能解决你的问题,请参考以下文章

Java参数验证Bean Validation 框架

Bean Validation规范篇----03

与 Bean Validation API 结合使用时,Hibernate 不遵循 JPA 规范?

JSR 303 - Bean Validation 介绍及最佳实践

SpringMVC中实现Bean Validation(JSR 303 JSR 349 JSR 380)

Spring Boot 进行Bean Validate和Method Validate