我使用JAXB將XML配置文件加載到Java對象(ConfigurationDTO)。在這個Java對象(ConfigurationDTO)上添加一些邏輯代碼是好習慣,還是我應該用這個邏輯代碼(即配置)創建一個不同的java對象。當我說邏輯代碼時,我指的是配置文件應該有的一些檢查/約束。 java類'ConfigurationDTO'是否只包含getter?應由JAXB創建的Java類具有邏輯代碼
0
A
回答
2
問題是爲什麼你需要這個約束?你打算不僅將你的對象用於編組/解組?如果是這樣,這是個壞主意。經驗法則不是在應用程序的所有級別中傳播DTO對象。如果你遵循這個規則,你不需要在你的DTO中有額外的限制。
JAXB標準爲您提供了在編組和解組時間期間驗證對象的能力。這意味着如果您的XML模式需要非空字段,但相應的java對象具有空值,則編組將失敗。反之亦然。
報價Validation是驗證XML文檔符合該模式所表達的所有約束的過程。 JAXB 1.0在解組時提供了驗證,並且還在JAXB內容樹上啓用了按需驗證。 JAXB 2.0只允許在解組和編組時進行驗證。一個Web服務處理模型在讀取數據方面不嚴格,並嚴格寫出數據。爲了滿足該模型,驗證被添加到編組時間,以便用戶在JAXB表單中修改文檔時可以確認它們沒有使XML文檔無效。
這種方法有它自己的缺點(如果你將DTO擴展到應用程序中,你將失去控制),但優點更有價值。
相關問題
- 1. Java代碼邏輯錯誤
- 2. 瞭解xy路由邏輯的代碼
- 3. 使用JaxB創建Java類
- 4. 我的代碼中的Java邏輯
- 5. 創建C代碼JAVA類
- 6. 具有邏輯OR選擇的Java ENUM
- 7. 使用Apache POI需要邏輯由Java代碼上運行Excel
- 8. 通過XSD將邏輯代碼插入生成的JAXB java文件def
- 9. Javascript代碼邏輯
- 10. SQL代碼/邏輯
- 11. 的Java JAXB如何創建POJO類
- 12. 具有位邏輯
- 13. 具有條件的PHP類別別的替代邏輯
- 14. Avro 1.8.2 BigDecimal(邏輯類型)的Java代碼生成
- 15. 代碼的邏輯有什麼問題?
- 16. 邏輯後面的代碼
- 17. 類似的反應的組分具有不同的邏輯
- 18. 有沒有Java Swing GUI邏輯和業務邏輯解耦的工具/軟件?
- 19. 創建sql表的邏輯 -
- 20. 用java類創建基於JSP的應用程序(業務邏輯)
- 21. 此代碼是否有邏輯錯誤? !
- 22. 代碼崩潰沒有邏輯錯誤
- 23. vb.net代碼條件邏輯
- 24. 邏輯和代碼幫助
- 25. 代碼邏輯方程
- 26. 源代碼邏輯評估
- 27. 如何更有效地編寫此Java邏輯代碼?
- 28. JQuery邏輯沒有被應用於動態創建的html
- 29. maven插件 - jaxb - 創建JAXB類
- 30. 如何編輯由此代碼創建的按鈕?