Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 何时使用验证?_Java_Spring_Hibernate_Validation_Annotations - Fatal编程技术网

Java 何时使用验证?

Java 何时使用验证?,java,spring,hibernate,validation,annotations,Java,Spring,Hibernate,Validation,Annotations,我只是想为用户类编写一个测试来检查验证。我想知道没有任何东西被验证为带注释的 @实体 公共类用户{ @身份证 @不空白 @尺寸(最小值=2,最大值=255) 私有字符串用户名; @不空白 @列(长度=60) 私有字符串密码; 公共用户(字符串用户名、字符串密码){ this.username=username.trim(); this.password=密码; } } 现在我试着这样做: User user2=新用户(“管理员”,“管理员”); 用户user3=新用户(“,”测试“); 用户u

我只是想为用户类编写一个测试来检查验证。我想知道没有任何东西被验证为带注释的

@实体
公共类用户{
@身份证
@不空白
@尺寸(最小值=2,最大值=255)
私有字符串用户名;
@不空白
@列(长度=60)
私有字符串密码;
公共用户(字符串用户名、字符串密码){
this.username=username.trim();
this.password=密码;
}
}
现在我试着这样做:

User user2=新用户(“管理员”,“管理员”);
用户user3=新用户(“,”测试“);
用户user4=新用户(“,”);
我假设了一些例外,但什么也没有

  • 那么有没有办法测试这些注释呢
  • 什么时候启动这些验证
那么有没有办法测试这些注释呢

是,您需要一个实例来执行验证:

// obtain a validator
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();

// do a test
Set<ConstraintViolation<User>> constraintViolations = validator.validate(user2);
Assert.assertEquals(0, constraintViolations.size());
//获取验证程序
ValidatorFactory=Validation.buildDefaultValidatorFactory();
Validator Validator=factory.getValidator();
//做个测试
Set constraintViolations=validator.validate(user2);
Assert.assertEquals(0,constraintViolations.size());
什么时候启动这些验证

他们可能在不同的层面上被激发

例如,Spring可以将控制器层上的验证(当请求到来时)与集成在一起。或者,您可以在将数据发送到数据库之前,让验证器触发异常

那么有没有办法测试这些注释呢

是,您需要一个实例来执行验证:

// obtain a validator
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();

// do a test
Set<ConstraintViolation<User>> constraintViolations = validator.validate(user2);
Assert.assertEquals(0, constraintViolations.size());
//获取验证程序
ValidatorFactory=Validation.buildDefaultValidatorFactory();
Validator Validator=factory.getValidator();
//做个测试
Set constraintViolations=validator.validate(user2);
Assert.assertEquals(0,constraintViolations.size());
什么时候启动这些验证

他们可能在不同的层面上被激发

例如,Spring可以将控制器层上的验证(当请求到来时)与集成在一起。或者,您可以在将数据发送到数据库之前,让验证器触发异常

可能的重复。可能的重复。