【问题标题】:JSF data transfer between UI and business layerUI 和业务层之间的 JSF 数据传输
【发布时间】:2010-06-06 06:38:16
【问题描述】:

我们在 UI 中使用 JSF,在业务层使用 Spring,在持久层使用 Hibernate。现在我的问题是如何将数据从 JSF UI 传递到 Spring 业务层。我可以直接在我的支持 bean 中使用我的业务对象,还是应该通过 DTO 在层之间传输数据?如果可能的话,可以用一段代码和相关网站向我解释清楚吗?

【问题讨论】:

    标签: java spring jsf jakarta-ee


    【解决方案1】:

    您的问题是一个设计问题,因此范围很广,对您的项目一无所知。我只会解决您关于 DTO 与业务对象的问题,并提供一些指向其他答案的指针。

    • 首先,我不完全了解您所说的业务对象是什么意思。有关业务对象、实体、DTO 和 VO 的讨论,请参阅this answer

    • 如果你使用Hibernate,并且你的业务对象是hibernate实体,并且表现层和业务层是本地,你可以直接在表现层使用实体。这减少了样板代码并且工作正常。问题是,如果您使用延迟加载,您可能需要依赖 open session in view 模式来确保您可以延迟加载表示层中的数据。更多详情请见this answer

    • 如果您的业务层和表示层是远程(可能不是这种情况),则证明使用 DTO 在它们之间传输数据是合理的。此外,即使一切都是本地的,您也可以决定使用 DTO 来规避延迟加载的问题。在这种情况下,请确保在将 DTO 中所需的所有内容传递给表示层之前急切加载

    这是一个非常高级的概述,有关更多详细信息,请参阅How to model in Java EE

    【讨论】:

      猜你喜欢
      • 2013-05-27
      • 2021-02-11
      • 2011-12-27
      • 2012-11-27
      • 2010-09-16
      • 2012-11-01
      • 2012-07-12
      • 1970-01-01
      • 2011-03-14
      相关资源
      最近更新 更多