【问题标题】:javax @notnull is not workingjavax @notnull 不工作
【发布时间】:2015-05-18 18:42:50
【问题描述】:

以下代码没有抛出任何错误,它是一个独立的 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);


}

}

【问题讨论】:

  • @SemihEker 该评论本身毫无意义。需要修改什么?
  • 这些注释只是提示。您需要在您的类路径中添加一个验证器,该验证器将强制执行这些约束。看看this post

标签: java jakarta-ee junit4


【解决方案1】:

这样是行不通的。您需要使用 Bean Validation 框架来触发这些注释。 JVM 本身无法处理它。请查看JavaEE Tutorial 以获得对 Java Bean 验证的简短介绍。 Hibernate Validator 是一个很好的实现,您可以在应用程序中使用它来验证带注释的 bean。

希望对您有所帮助。

【讨论】:

  • 你知道如何对这种方法进行单元测试吗? (例如:Junit、Mockito)
  • 谢谢.... 它适用于财产,但在我的情况下,我在 DAO 类中使用,我将空值传递给本地方法参数。例如:public void addEmployee(@NotNull Integer employeeId)。我该如何测试这种方法?请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
  • 2014-09-11
  • 1970-01-01
  • 2019-02-10
  • 2014-10-07
  • 1970-01-01
  • 2022-08-15
相关资源
最近更新 更多