问题描述
我在POJO之一中使用javax.validation.constraints.NotNull,如下所示:
public class Abc {
@NotNull
private final String x;
@NotNull
private final String y;
}
然后,即使我将两个字段的Abc对象都设置为空值,它也不会引发任何异常。 知道为什么吗?
例如。
Abc abc = new Abc(null, null);
不会抛出任何异常。
1楼
注释只是附加在其注释项上的额外信息。 他们天生就没有内置逻辑。 如果您使用的是或Kotlin语言之类的工具,则编译器可能支持基于注释自动添加逻辑,但是否则,它们将不会“执行任何操作”,直到您真正进行主动检查(例如,通过运行POJO(通过验证器)。
2楼
这个类似问题的答案也许对您有所帮助。
要激活参数验证,只需使用@Validated注释类