我使用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. 我的代碼中的Java邏輯
- 3. 具有邏輯OR選擇的Java ENUM
- 4. 通過XSD將邏輯代碼插入生成的JAXB java文件def
- 5. 使用Apache POI需要邏輯由Java代碼上運行Excel
- 6. 的Java JAXB如何創建POJO類
- 7. SQL代碼/邏輯
- 8. Javascript代碼邏輯
- 9. 具有位邏輯
- 10. Avro 1.8.2 BigDecimal(邏輯類型)的Java代碼生成
- 11. 代碼的邏輯有什麼問題?
- 12. 邏輯後面的代碼
- 13. 有沒有Java Swing GUI邏輯和業務邏輯解耦的工具/軟件?
- 14. 代碼崩潰沒有邏輯錯誤
- 15. vb.net代碼條件邏輯
- 16. 邏輯和代碼幫助
- 17. 源代碼邏輯評估
- 18. JQuery邏輯沒有被應用於動態創建的html
- 19. 如何編輯由此代碼創建的按鈕?
- 20. 由MS Outlook創建的消息ID的邏輯
- 21. 通過創建Java代碼
- 22. 創建java分段代碼
- 23. 爲Java代碼創建UML
- 24. 如何創建Java代碼
- 25. 如何創建Java代碼
- 26. 爲Java代碼創建MSI
- 27. 具有intellisense代碼編輯器的ANTLR4
- 28. 正確的OOP類邏輯的邏輯
- 29. 邏輯OR vs邏輯AND:哪個應該更具約束力?
- 30. 用於從xml架構(反向schemagen)創建JAXB java類的工具?