【问题标题】:Guava Optional versus Bean ValidationGuava 可选与 Bean 验证
【发布时间】:2014-03-26 14:12:25
【问题描述】:

我们正在实施一个新的 Java EE 项目,目前对这项技术还不是很熟悉。所以我们需要学习很多... 目前我们在 BO 中使用 Guava Optional 来实现非强制性的字段。

我们围绕这门课进行了很多讨论,但到目前为止我还没有看到优势。我更喜欢使用带有注释 @NotNull 的 Bean Validation 来指示是否始终设置字段。当然,设置好了,只有经过验证才能确定。

现在我的问题。 eclipse 不显示 Bean Validation Annotations 吗?所以你最好看看,你能确定什么。有没有有用的插件?

【问题讨论】:

    标签: java eclipse guava bean-validation


    【解决方案1】:

    Guava/Java 8 Optional 应该用于强制执行以下约定:如果根据业务逻辑,某些函数可能返回 null 值,那么我们将其包装在 Optional 中,因此我们的意图很明确 - 用户必须检查值在场。如果函数返回非可选对象,我们假设 is 永远不能为 null,并且该函数的用户不必进行 null 检查。因此代码会更干净。

    由于 Optional 现在是 Java 8 的一部分,我想这将成为处理空值的标准方法。

    为了显示提示,一些 IDE 提供了特殊的注释。 Eclipse 有@NonNull 注解,类似IntelliJ IDEA 有@Nullable/@NotNull 注解,但它们与Bean Validation 注解无关。

    【讨论】:

    • 但是现在过度使用它是不是太早了,因为它还没有被 jpa 或 Bean Validation 支持。
    • Optional 与 Validation 不同。它们与验证无关,它们使业务逻辑代码免于对空值进行无休止的检查。验证适用于您无法控制的数据。在实践中,您会同时使用 Bean Validation 和 Optional,但要考虑不同的目的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 2019-02-25
    • 2012-02-22
    • 2011-01-29
    相关资源
    最近更新 更多