Spring unterstützt zwei verschiedene Validierungsmethoden: Spring-Validierung und JSR-303-Bean-Validierung. Beide können verwendet werden, indem ein Spring-Validator definiert wird, der an andere Delegatoren delegiert, einschließlich des Bean-Validators. So weit, ist es gut.
Wenn Sie jedoch Methoden mit Anmerkungen versehen, um tatsächlich eine Validierung anzufordern, ist dies eine andere Geschichte. Ich kann so kommentieren
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) {
oder so
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) {
Hier ist @Valid javax.validation.Valid und @Validated ist org.springframework.validation.annotation.Validated . Die Dokumente für letztere sagen
Variante von JSR-303 Valid, die die Angabe von Validierungsgruppen unterstützt. Entwickelt für die bequeme Verwendung mit der JSR-303-Unterstützung von Spring, jedoch nicht JSR-303-spezifisch.
Das hilft nicht viel, weil es nicht genau sagt, wie es anders ist. Wenn überhaupt. Beide scheinen für mich ziemlich gut zu funktionieren.