我的简单Spring MVC应用程序具有以下层:(0)具有普通JSP(1)控制器的Web层,(2)服务,(3)存储库,(4)模型。我使用Spring Data JPA作为存储库。我认为在我的场景中有数据传输对象(DTO)的原因是什么,因为客户端需要实体类的所有字段。它只会削减性能并导致开发工作重新打包所有内容。
我知道(a)DTO有助于解除层级,而(b)数据库表结构将从客户端隐藏,这对安全性非常有用原因。但是,(b)似乎不是我的应用程序中的问题,因为客户端需要所有数据。就层级解耦而言,实体类的任何变化也应该应用于DTO和客户端。
我会对您如何将实体作为模型属性提供给客户端而不是DTO感兴趣。还要提前感谢这些帖子。
答案 0 :(得分:1)
Separation of model and view提供了许多好处,例如在不影响另一方的情况下自由修改两者。当然,在某些情况下,与您的一样,模型和视图都可以相同。