java校验bean_Bean Validation技术实现对Javabean的校验

概述:在java开发时,由于分层的原因(表现层-控制层-业务层-数据持久层),有时候需要对传入的Javabean进行校验,如果过多的校验会导致比较繁琐,做重复的工作,下面将介绍Bean Validation技术,该技术是利用注解的方式,在javabean代码内部,利用注解实现校验,这样会将繁琐的工作变得简单。

注:在阅读如下知识之前,要对注解有一些了解。

来一个简单的Bean Validation实现 ,热热身:

packagevalidation;importjava.util.Set;importjavax.validation.ConstraintViolation;importjavax.validation.Validation;importjavax.validation.Validator;importjavax.validation.ValidatorFactory;importjavax.validation.constraints.NotNull;importjavax.xml.bind.ValidationException;//import validation.vo.Person;

/*** @ClassName: Test1

* @Description: TODO

*@authorzhangyy

* @date 2015-7-30 上午11:44:15*/

public classTest1 {public static voidmain(String [] args ){

Person person= newPerson();try{

Test1.validate(person);

}catch(ValidationException e) {

System.out.println(e.getMessage());//输出结果是:用户名不能为空

}

}public static void validate(T t) throwsValidationException {

ValidatorFactory vFactory=Validation.buildDefaultValidatorFactory();

Validator validator=vFactory.getValidator();

Set> set =validator.validate(t);if(set.size()>0){

StringBuilder validateError= newStringBuilder();for(ConstraintViolationval : set){

validateError.append(val.getMessage());

}throw newValidationException(validateError.toString());

}

}

}classPerson{

@NotNull(message="用户名不能为空") //此处为校验注解

privateString username;publicString getUsername() {returnusername;

}public voidsetUsername(String username) {this.username =username;

}

}

上面的代码用到了@NotNull()注解进行校验,一个完整的校验步骤包括如下四个步骤:

1.约束注解的定义

2.约束验证规则(约束验证器)

3.约束注解的声明

4.约束验证流程

下面用代码来进行详细的解释:

1.约束的定义:

Bean Vlidation技术提供了一些内置的约束定义,还可以自定义;下面是内置的:

约束注解名称约束注解说明

@Null

验证对象是否为空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值