2017-02-24 54 views
0

我工作的项目是一个简单的Java SE程序,它使用public static void main方法运行。我有一个DTO豆叫StudentBean:如何在Java SE 1.6中实现bean验证

class StudentBean { 
    private String firstname; 
    private String lastname; 
    private Integer id; 
    private Integer age; 
    //setters and getters 
} 

我有存储在java.util.ArrayList超过10万学生豆。我们为每个领域制定了一套规则。对于前者,名字不能为空且空白,年龄不能为负数。

如何根据我们的规则编写用于验证数十万个bean的java代码,并为违反规则的bean编写日志?

我们考虑编写像@NotNull, @NotEmpty, @PositiveNumber这样的自定义注释,并且有一个验证器逻辑,它根据它们对变量的注释验证bean。如果您觉得这很好,请将我指向可用于实现此目的的在线资源。由于这是Java SE项目,因此我们没有javax.validation jar,所以没有使用这个库的范围。如果我们只能使用Java SE库来实现它,那将会非常有帮助。

回答

-2

我会尽量保持它简单,只需在实现规则的bean中使用方法public boolean isValid()。这样你就不需要注释和反射。

+0

你为什么低估了答案?为什么我的回答不有用?使用注释是必须的,因为...? –

+0

......你不是在重新发明轮子,而是使用定义好的标准验证框架。 –

+0

在这个问题中,正是这样写的,这个解决方案只能用Java SE库来实现!在Java SE库中存在休眠 - 我不这么认为。所以请仅仅因为我试图在给定的要求范围内回答而退后。 –

1

你可以看看hibernate验证器,以及如何引导验证。现在已经有一些限制,你需要开箱即用。 这是Java SE项目并不意味着您无法通过自己进行引导验证。