Java 非MVC应用程序中的Spring验证

Java 非MVC应用程序中的Spring验证,java,spring,validation,annotations,Java,Spring,Validation,Annotations,这是否可能以类似于在非MVC应用程序的MVC控制器中验证POJO类的方式来验证POJO类 例如: public class Form { @NotNull @Size(min = 4, max = 25) private String login; ... } 然后: Form f = new Form(); f.setLogin("login"); 现在我想把它传递给某种验证器,它将根据字段的注释测试所有字段,就像MVC中的@Valid一样 请注意,我希望通

这是否可能以类似于在非MVC应用程序的MVC控制器中验证POJO类的方式来验证POJO类

例如:

public class Form {
    @NotNull
    @Size(min = 4, max = 25)
    private String login;
    ...
}
然后:

Form f = new Form();
f.setLogin("login");
现在我想把它传递给某种验证器,它将根据字段的注释测试所有字段,就像MVC中的@Valid一样

请注意,我希望通过字段的注释来验证字段。我不想写所有的验证条件,比如if(login.lenght()<4&&


这是可能的吗?

您可以使用Hibernate Validator,它是Java Bean验证规范的一个实现-在JDK环境(no JEE)中工作,如前所述

Hibernate Validator允许您添加注释,然后基于注释运行验证,如下所示:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
Set<ConstraintViolation<?>> constraintViolations =
  validator.validate(objectToValidate);
ValidatorFactory=Validation.buildDefaultValidatorFactory();
validator=factory.getValidator();
设置