JSR303、349 -Bean Validation 数据校验规范使用说明和验证流程源码分析
本文讲解基于jsr303和jsr349标准的 Bean Validation规范。通过以下部分讲解: 约束注解的定义 约束验证规则(约束验证器) 约束注解的声明 约束验证流程 在spring mvc中使用jsr349 使用工具类不使用Spring提供的功能 Spring3.1支持方法级别验证 dubbo中使用jsr303提供的验证 需要关注一下问题 参考网址 Bean Validation 是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久层. 通常,相同的校验逻辑会分散在各个层中, 这样,不仅浪费了时间还会导致重复代码(如下图). 为了避免重复, 开发人员经常会把这些校验逻辑直接写在领域模型里面, 但是这样又把领域模型代码和校验代码混杂在了一起, 而这些校验逻辑更应该是描述领域模型的元数据. JSR 303,349 - Bean Validation - 为实体验证定义了元数据模型和API. 默认的元数据模型是通过Annotations来描述的,但是也可以使用XML来重载或者扩展. Bean Validation API 并不局限于应用程序的某一层或者哪种编程模型, 例如,如下图所示, Bean Validation 可以被用在任何一层, 或者是像类似Swing的富客户端程序中. 一个