Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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 Spring自定义验证程序+;带注释的约束_Java_Spring_Validation_Spring Mvc - Fatal编程技术网

Java Spring自定义验证程序+;带注释的约束

Java Spring自定义验证程序+;带注释的约束,java,spring,validation,spring-mvc,Java,Spring,Validation,Spring Mvc,我有一个SpringBoot1.3.7项目,它使用诸如@NotNull之类的实体验证 这很好,因为可以指定“@Valid@RequestBody Pojo Pojo”并自动验证“Pojo”。很酷 然而,有时您需要更复杂的逻辑,其中自定义验证器(实现验证器的类)是合适的 这也可以做到。我们创建一个类,用@Component标记它,并让它实现“Validator” 但是,要使用它,必须在每个控制器中声明他们希望混合使用两种类型的验证器: @InitBinder public void initial

我有一个SpringBoot1.3.7项目,它使用诸如@NotNull之类的实体验证

这很好,因为可以指定“@Valid@RequestBody Pojo Pojo”并自动验证“Pojo”。很酷

然而,有时您需要更复杂的逻辑,其中自定义验证器(实现验证器的类)是合适的

这也可以做到。我们创建一个类,用@Component标记它,并让它实现“Validator”

但是,要使用它,必须在每个控制器中声明他们希望混合使用两种类型的验证器:

@InitBinder
public void initializeBinder(WebDataBinder binder) {
    binder.addValidators(theValidator);
}
这让我印象深刻,因为Spring Boot应该自动完成这样的工作——只需扫描所有验证器的组件,并将它们与活页夹一起使用

我错过什么了吗?这真的需要在每个控制器中声明吗

谢谢