gpt4 book ai didi

java - 如何使用 Bean Validation (JSR303) 打破 bean 和 validator 之间的耦合?

转载 作者:行者123 更新时间:2023-11-29 08:52:50 28 4
gpt4 key购买 nike

我想从我的应用程序中提取 DTO,以将它们作为 jar 提供给分层应用程序。

但我使用了 Bean Validation,因此 DTO 使用自定义约束进行注释。并且此自定义注释对验证实现具有依赖性(链接)。

@AuthorisedUser
public class UserDTO implements Serializable {
// ...
}

@Constraint(validatedBy = { AuthorisedUserValidator.class })
public @interface AuthorisedUser { ... }

因此,我的 DTO 模块依赖于注解,注解依赖于 validator , validator 又依赖于 DAO,然后完整的核心应用程序就来了。

有没有办法打破这种依赖循环?提供没有依赖项的 DTO jar(或仅提供给 bean 验证 API)的良好做法是什么?

谢谢

最佳答案

  • 删除约束注释并创建普通 DTO jar
  • 将您的自定义约束和实现捆绑到一个单独的 jar 中
  • 在服务层(或任何你想要验证的地方),添加 Bean Validation,Hibernate Validator,你自定义约束并使用 XML 来配置约束

如果您最关心的是打破循环,最好的办法是使用 XML 配置。

关于java - 如何使用 Bean Validation (JSR303) 打破 bean 和 validator 之间的耦合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836108/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com