2014-03-26 30 views
0

我們正在實施一個新的Java EE項目,至今對此技術並不十分熟悉。所以我們必須學習... 目前我們在BOs中使用Guava Optional來實現非強制性的領域。番石榴可選與Bean驗證

我們圍繞這堂課進行了很多討論,到目前爲止我還沒有看到這方面的優勢。我更願意使用Bean Validation和註解@NotNull來指示一個字段是否總是被設置。當然,它的設置,你只能確認後確認。

現在我的問題。 eclipse是否不顯示Bean驗證註解?所以你最好看看,你可以肯定。有沒有可以幫助你的插件?

回答

2

番石榴/ Java的8可選應該用來執行以下約定:如果根據經營業務邏輯,有些功能可能會返回空值,那麼我們把它包裏面可選的,所以我們的意圖是明確的 - 用戶必須檢查價值的存在。如果函數返回非可選對象,我們認爲永遠不可以爲null,並且該函數的用戶不必執行空檢查。因此,代碼將更清潔。

由於可選是現在的Java 8的一部分,我想這將成爲處理空值的標準方法。

爲了顯示提示,一些IDE提供了特殊註釋。 Eclipse具有@NonNull註釋,類似地IntelliJ IDEA具有@Nullable/@NotNull註釋,但它們與Bean驗證註釋無關。

+0

但是,它是不是過早地使用它,因爲它不支持jpa或Bean驗證呢。 – boskop

+1

選項是與驗證不同的野獸。它們與驗證無關,它們使業務邏輯代碼免於無休止的空值檢查。驗證適用於您無法控制的數據。在實踐中,你會使用Bean驗證和可選方案,並考慮到不同的目的。 –