标签:
JSR 303 是java为Bean数据合法性校验提供的标准框架,
它已经包含在javaEE6.0中
JSR 303 通过Bean属性上标注类似于@NotNull.@Max等标准的注解指定校验规则,
并通过过标准的验证接口对bean进行验证
JSR 303有哪些注解,在博客园里有很多文章
Hibernate Validator是JSR 303的一个参考实现,
除了有标准的校验注解外,它还支持以下的扩展注解
* Spring 4.0拥有自己独立的数据校验框架,同时支持JSP303标准的校验框架
* Spring在进行数据绑定时,可同时调用验证框架完成数据校验工作
,在SpringMVC中,可以直接通过注解驱动的方式进行数据校验
* Spring的LocalValidatorFactoryBean既实现了Spring的validator接口,
也实现了JSR303 的validator接口
只要在Spring容器中定义了一个LocalValidatorFactoryBean,即可将其注入
到需要数据校验的Bean中,
Spring本身并没有提供JSR303的实现,所以必须将JSR303的时闲着的JAR包
放到类路径下
Spring 配置文件中需要配置LocalValidatorFactoryBean
*<mvc:annotation-driven/>会默认装配好一个LocalValidatorFactoryBean
通过在处理方法的入参上标注@valid,注解既可以让Spring MVC在完成
数据绑定后执行数据校验的工作
* 在已经标注了JSR 303注解的表单/命令对下个前标注一个@valid,Spring
MVC 框架在将请求参数绑定到该入参对象后,就会调用验证框架根据注解声明
的校验规则实施校验
* Spring MVC 是通过对处理方法签名的规约来保存校验结果的;
前一个表单.命令对象的校验结果保存到随后的入参中,这个保存校验结果
的入参必须是BindingResult或者Errors类型,这两个类都位于
org.springfarmework.validation
1使用JSR 303验证标准
2.加入hibernate validator验证框架的jar包
3.在SpringMVC 配置文件中添加<mvc:annotation-driven/>
4.需要在bean类型前加上@valid注解
5.在目标方法bean类型的前面添加@valid 注解
在项目里加入这些jar包,
之后再次测试可能会遇到一个错误
java.lang.NoSuchMethodError: TRACE
但是我遇到的是
java.lang.NoSuchFieldError: TRACE
标签:
原文地址:http://www.cnblogs.com/rocky-AGE-24/p/5225861.html