b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

bean validation 实现_bean validation原理_validationexception(3)

电脑杂谈  发布时间:2017-05-18 08:18:55  来源:网络整理

}

publicbooleanisValid(Stringstring,

ConstraintValidatorContextconstraintValidatorContext){

if(string==null)returnfalse;

elseif(string.length()<1)returnfalse;

elsereturntrue;

bean validation 实现_bean validation原理_validationexception

}

}

至此,一个可以声明并使用的约束注解已经定义完毕,清单 7 将给出该约束注解在实际程序中的使用。为节省篇幅,这里只给出针对清单 1 的增加和修改内容,未给出全部的示例代码,您可以在本文的附录中获得全部的代码。

清单 7:

首先在清单1中的类Employee中加入字段company和相应的getter和setter方法:

@NotEmpty

privateStringcompany;

然后在main函数中加入如下代码清单:

Stringcompany=newString();

employee.setCompany(company);

再次运行该程序,输出结果为:

Theidofemployeecannotbenull

thisstringmaybeempty

Thesizeofemployee'snamemustbetween1and10

约束的声明和验证流程

本文第二大部分介绍了如何定义约束注解和验证器,本章主要介绍如何在 Java Bean 中应用存在定义的约束注解,主要包括两部分:一是约束的声明;二是约束的验证流程。

在需要进行约束的目标元素前面用注解的方式即可声明约束,这意味着该目标元素必须满足该约束的验证条件。如清单 13 即在字段 id 上声明了约束 @NotNull:

清单 13:

@NotNull(message="Theidofemployeecannotbenull")

privateIntegerid;

该目标元素在具体实例中被赋后,Bean Validation 就会调用相关的流程进行验证。具体使用方式可以参见清单 14 所示,其中所涉及的接口将在本文第四大部分详细介绍。

清单 14:

ValidatorFactoryvf=Validation.buildDefaultValidatorFactory();

Validatorvalidator=vf.getValidator();

Set<ConstraintViolation<Employee>>set=validator.validate(JavaBeanInstance);

for(ConstraintViolation<Employee>constraintViolation:set){

System.out.println(constraintViolation.getMessage());

}

Bean Validation 规范对 Java Bean 的验证流程如下:在实际使用中调用 Validator.validate(JavaBeanInstance) 方法后,Bean Validation 会查找在 JavaBeanInstance上所有的约束声明,对每一个约束调用对应的约束验证器进行验证,最后的结果由约束验证器的 isValid 方法产生,如果该方法返回 true,则约束验证成功,否则验证失败。验证失败的约束将产生约束违规对象(ConstraintViolation 的实例)并放到约束违规列表中。验证完成后所有的验证失败信息均能在该列表中查找并输出。

前提条件

Bean Validation 规范规定在对 Java Bean 进行约束验证前,目标元素必须满足以下条件:

如果验证的是属性(getter 方法),那么必须遵从 Java Bean 的命名习惯(JavaBeans 规范);

静态的字段和方法不能进行约束验证;

约束适用于接口和基类;

约束注解定义的目标元素可以是字段、属性或者类型等;

可以在类或者接口上使用约束验证,它将对该类或实现该接口的实例进行状态验证;

字段和属性均可以使用约束验证,但是不能将相同的约束重复声明在字段和相关属性(字段的 getter 方法)上。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-47803-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...