java - 为验证业务规则的 POJO 编写不变量
问题描述
我想开始为我的课程结合编写不变量的做法。对于我的 POJO,通过根据业务规则验证其状态来验证其状态是否是一种好习惯。假设我有这个类,例如:
@Data
public class Pick {
List<Substitution> substitutions = new ArrayList<>();
}
现在,我的不变量说列表中的每个替换对象都需要有替换原因。在作为简单数据载体的 POJO 中进行此类业务检查是否是一种好习惯?
请注意,我已经使用@NonNull
which 也是一个不变量,尽管它是一个非常基本的变量。编写不变量来测试您的字段的复杂业务关系是否是一种好习惯?
解决方案
JSR 380 是用于 bean 验证的 Java API 规范,是 Jakarta EE 和 JavaSE 的一部分,它使用 @NotNull、@Min 和 @Max 等注释确保 bean 的属性满足特定标准。
我们可以看到这种方法在 Java 生态系统中大量使用,只要它不涉及您的业务逻辑和数据对象并保持它们的清洁,它就是愚蠢的
更多在这里
推荐阅读
- wordpress - 使用 Kotlin 解析 Rest Api。
- mysql - 创建显示学生花费了多少的视图
- kubernetes - Grafana 在使用 k8s 服务时无法在 kubernetes 集群上工作
- javascript - 使用节点 10 运行 gulp mocha 时出现意外的令牌功能
- android - Android如何获取Earfcn数据?
- python - Python中的图像处理工具箱(MATLAB)
- string - Liquid:用表达式替换字符串
- thymeleaf - 使用 Spring WebFlux 和 Thymeleaf 进行重定向后获取
- mysql - docker中的巨大静态(mysql)数据库
- android - 页面固定在recyclerview中的特定帖子