javax @NotNull无法正常工作

6
以下代码没有抛出任何错误,它是一个独立的Java程序。如果传递null,则会在控制台中打印null。请帮助我,如何启用@notnull注释。
import javax.validation.constraints.NotNull;

public class TestNotNull {

public void testNotNull(@NotNull(message = "name is compulsory") String name)
{
    System.out.println(name);
}

public static void main(String... args)
{
    TestNotNull testNotNull = new TestNotNull();

      testNotNull.testNotNull(null);


}

}

1
@SemihEker 单独的评论并没有什么意义。需要编辑什么? - Duncan Jones
这些注释只是提示。您需要添加验证器到类路径中,以强制执行这些约束。请查看此帖子:https://dev59.com/omoy5IYBdhLWcg3wHqiB - Kshitij
1个回答

4
那样做行不通。您需要使用Bean验证框架来触发这些注释。JVM本身无法处理它。请查看JavaEE教程,了解Java Bean验证的简短介绍。一个好的实现是Hibernate Validator,您可以在应用程序中使用它来验证带注释的bean。
希望对您有所帮助。

你知道如何对这种方法进行单元测试吗?(例如:Junit,Mockito) - ArunManoharan
@arun 请阅读此链接:http://hibernate.org/validator/documentation/getting-started/ - Moritz Petersen
谢谢...这适用于属性,但在我的情况下,我正在使用DAO类,在其中将空值传递给本地方法参数。例如: public void addEmployee( @NotNull Integer employeeId )。我该如何测试这个方法?请告诉我。 - ArunManoharan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接