【发布时间】:2015-10-24 00:10:01
【问题描述】:
使用 Spring MVC 开发 Web 应用程序。之前我使用的是Controller层、Service层(业务逻辑)、Model层(实体)和DAO(DB)层。
但是有人指出我应该再引入两层,即。 dto 层用于从前端收集数据并转换层,该层将比 dto 转换为模型(实体)层对象。
现在我正在使用:
- 控制器层(将数据发送到 DTO 层)
- DTO 层(将其数据发送到转换层)
- 变换层(用于将dto层对象转换为实体层对象)
- 服务层(业务逻辑)
- 实体层(将与数据库映射的POJO)
- DAO(将使用实体对象来存储数据库)
通过这种方式,我们可以保持前端和后端数据的不同。请帮帮我,这是 Spring MVC 的正确结构吗?
【问题讨论】:
-
DTO 不是层。有人给你指出了错误的方向。
-
@RomanC 因此,对于表单支持对象,我应该使用哪个层,如果它的实体层,那么我再次使用实体层将数据存储在数据库中。你能再解释一下吗?
-
它被称为视图层,您可以使用从后端返回的对象。我不知道它与视图和模型双向通信的 MVC 有什么关系,但它用于最新的 MVVM 和 MVW 架构。
-
@RomanC 所以我们的项目中不需要像 DTO 这样的东西?我们可以简单地使用实体从前端收集数据吗?并且前端和数据库都将使用实体来实现其目的
-
@blackOcean 什么样的实体?你的意思是ORM实体吗?你可以使用任何你需要的实体和 DTO,但一切都应该在它自己的层上烘焙。我刚刚指出你的理解层是不正确的。
标签: java spring spring-mvc model-view-controller layer