Files
rikako-note/spring/Spring core/@Validated, @Valid.md

12 lines
825 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# @Validated & @Valid
## @Validated
@Validated可以用于方法级别,方法参数级别以及类级别
- 类级别:当@Validated注解用于类级别时,该类中所有的约束(例如@Max,@Size)都会被校验
- 参数级别:类似于@Valid
- 方法级别:将@Validated注解用于方法级别会override group信息但是不会插入切面
可以将@Validated作用于spring mvc handler的参数也可以将其作为方法级别的验证。方法级别的验证允许覆盖validation group但是不会作为切面。
> @Validated实现原理基于spring aop故而只有标注了@Validated注解的bean对象才会被代理并拦截
## @Valid
相对于@Validated注解@Valid注解允许应用于返回类型和field上,故而通过@Valid注解可以用于嵌套类的校验