【问题标题】:java static factory methods in Spring Model classSpring Model类中的java静态工厂方法
【发布时间】:2021-01-15 16:21:12
【问题描述】:

在 Spring Model Class 中使用 java 静态工厂方法是否可以通过某种方程来验证字段

【问题讨论】:

  • 我的意思是,这是不是好的做法
  • 请提供您尝试过的代码示例。
  • 实际上我还没有在模态类中尝试过,我只是想知道这是不是很好的做法,我的需要是在将对象保存到数据库之前验证字段是否满足我的方程
  • 考虑我有一个名为 AA 的模态类,字段是 A ,B ,C 。如果它是有效的 C=A+B 就像我实际需要的验证一样。并且需要在保存到数据库之前满足这一点

标签: java spring static-factory


【解决方案1】:

我建议避免这种情况,原因如下:

  1. 您失去了模型和模型验证逻辑之间的关注点分离。特别是如果验证只涉及几个字段。同时添加/修改字段和修改验证逻辑不应导致代码更改冲突。
  2. 您使测试变得更加困难(静态变量不利于测试)。
  3. 您违反了“控制反转”原则。当您需要以灵活的方式替换验证实现时,您会遇到麻烦。

您可以做的可能是将custom validation annotation 添加到模型中。 此验证将由实现某些规范的 spring bean 执行。 这样您就没有上述问题,但您仍然可以在模型类上保留验证规则(没有实现细节)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    相关资源
    最近更新 更多