首页 > 解决方案 > 为验证业务规则的 POJO 编写不变量

问题描述

我想开始为我的课程结合编写不变量的做法。对于我的 POJO,通过根据业务规则验证其状态来验证其状态是否是一种好习惯。假设我有这个类,例如:

@Data
public class Pick {
    List<Substitution> substitutions = new ArrayList<>();
}

现在,我的不变量说列表中的每个替换对象都需要有替换原因。在作为简单数据载体的 POJO 中进行此类业务检查是否是一种好习惯?

请注意,我已经使用@NonNullwhich 也是一个不变量,尽管它是一个非常基本的变量。编写不变量来测试您的字段的复杂业务关系是否是一种好习惯?

标签: javaoop

解决方案


JSR 380 是用于 bean 验证的 Java API 规范,是 Jakarta EE 和 JavaSE 的一部分,它使用 @NotNull、@Min 和 @Max 等注释确保 bean 的属性满足特定标准。

我们可以看到这种方法在 Java 生态系统中大量使用,只要它不涉及您的业务逻辑和数据对象并保持它们的清洁,它就是愚蠢的

更多在这里


推荐阅读