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

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

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

清单 3:

@Target({})//约束注解应用的目标元素类型

@Retention()//约束注解应用的时机

@Constraint(validatedBy={})//与约束注解关联的验证器

public@inteceConstraintName{

bean validation 实现_bean validation原理_validationexception

Stringmessage()default"";//约束注解验证时的输出消息

Class<?>[]groups()default{};//约束注解在验证时所属的组别

Class<?extendsPayload>[]payload()default{};//约束注解的有效负载

}

约束注解应用的目标元素类型包括 METHOD, FIELD, TYPE, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER。METHOD 约束相关的 getter 方法;FIELD 约束相关的属性;TYPE 约束具体的 Java Bean;ANNOTATION_TYPE 用在组合约束中;该规范同样也支持对参数(PARAMETER)和构造器(CONSTRUCTOR)的约束。

验证时的组别属性将在本文第三大部分中组与组序列中详细介绍。

有效负载通常用来将一些元数据信息与该约束注解相关联,常用的一种情况是用负载表示验证结果的严重程度。

清单 4 给出一个验证字符串非空的约束注解的定义:

清单4:

@Target({METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})

@Retention(RUNTIME)

@Documented

@Constraint(validatedBy={NotEmptyValidator.class})

public@inteceNotEmpty{

Stringmessage()default"thisstringmaybeempty";

Class<?>[]groups()default{};

Class<?extendsPayload>[]payload()default{};

}

约束注解定义完成后,需要同时实现与该约束注解关联的验证器。bean validation 实现约束验证器的实现需要扩展 JSR303 规范提供的接口 javax.validation.ConstraintValidator。清单 5 给出该接口。

清单 5:

publicinteceConstraintValidator<AextendsAnnotation,T>{

voidinitialize(AconstraintAnnotation);

booleanisValid(Tvalue,ConstraintValidatorContextcontext);

}

该接口有两个方法,方法 initialize 对验证器进行实例化,它必须在验证器的实例在使用之前被调用,并保证正确初始化验证器,它的参数是约束注解;方法 isValid 是进行约束验证的主体方法,其中 value 参数代表需要验证的实例,context 参数代表约束执行的上下文环境。

对于清单 4 定义的约束注解,清单 6 给出了与该注解对应的验证器的实现。

清单 6:

publicclassNotEmptyValidatorimplementsConstraintValidator<NotEmpty,String>{

publicvoidinitialize(NotEmptyparameters){


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

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

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