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可以将控制器层上的验证(当请求到来时)与集成在一起。或者,您可以在将数据发送到数据库之前,让验证器触发异常 可能的重复。可能的重复。