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

825 B
Raw Permalink Blame History

@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注解可以用于嵌套类的校验