gpt4 book ai didi

java - 将数据从 Spring MVC Controller 来回传递到服务层

转载 作者:行者123 更新时间:2023-11-29 05:27:52 25 4
gpt4 key购买 nike

谁能建议将数据从 Controller 发送到服务层的最佳方法?

我有 UI <--> Controller <--> 服务 <--> DAO

我有模型(或命令)来保存用户在 UI 中输入并传递给 Controller ​​的数据

我想在 Controller 层创建模型,但不想直接将它们传递给服务层,然后依赖于 Controller 层。

您是否建议在服务层创建模型并在 Controller 层使用它们?但是在这种情况下,jsps 将使用这些模型向用户提供数据吗?可以吗?

谁能建议在 java 中设计上面所示的 mvc 层的最佳方法?

谢谢拉梅什

最佳答案

将域模型对象直接提供给 UI 层不一定是错误的,只是您往往会很快遇到一些常见问题:

  • View 屏幕只需要模型的一小部分
  • 某些字段,例如 User.password,您永远不想发送到 View 层
  • 领域模型可以包含循环,意思是对象图中返回初始对象的对象导航路径。这无法正确序列化
  • 由分离对象引起的域模型延迟初始化异常

解决此问题的常见模式是 DTO 模式,参见此处 description by Martin Fowler .

在大型应用程序中,常见的方法是让 Controller 发送和接收 DTO,然后在需要时进行一些映射以将它们转换为域对象,这可以通过 Dozer mapping library 来完成。 .

在较小的应用程序中,这可能是不合理的,特别是如果您没有遇到上述问题,尽管这些问题往往会经常出现。

关于java - 将数据从 Spring MVC Controller 来回传递到服务层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22081093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com