【问题标题】:Dao layer and business logic with struts and hibernateDao 层和业务逻辑与 struts 和 hibernate
【发布时间】:2012-06-22 14:46:07
【问题描述】:

我有一个 struts 项目,我的客户给了我完整的业务逻辑课程。他需要这个与 struts 和 hibernate 融为一体的东西。

哪个最好, 要将业务逻辑放到我的 Dao 层,需要为业务逻辑添加一个额外的服务层。

一些struts项目我发现action类直接访问Dao。

请建议我哪个是更好的选择。非常感谢帮助。

谢谢,

【问题讨论】:

  • 业务逻辑应该进入服务层,或者struts控制器。不在 DAO 中
  • 建议你添加一个业务逻辑层,DAO只是响应DB访问。
  • 创建一个服务层并把你的业务逻辑放在那里。让struts2动作与服务层对话,而不是服务层与DAO。也许你可以添加外观以使其更精细

标签: java hibernate struts2 dao


【解决方案1】:

我的建议是让 Dao 从您的业务逻辑中保持清洁,但是是的,所有与数据库相关的逻辑和自定义都应该像所有休眠逻辑一样在 DAO 层编写,将结果转换为您的类等。(当您使用 Hibernate 时)应该用 DAO 编写。

并且整个迭代、设置/获取、结果定制、准备、请求改进作为休眠查询的参数都应该写在服务层。

另一层Controller 应该在服务层上工作,该服务层将接收请求并调用相应的服务方法并提供生成的响应。

【讨论】:

    【解决方案2】:

    我强烈建议将您的业务逻辑写入服务层,以便您的 dao 层仅包含数据库交互并且可以在任何时间点重复使用。

    另外,我建议您添加一个表示层(所有具有纯值的实体),供 UI 层访问。

    【讨论】:

      【解决方案3】:

      让 Hibernate 成为您的 DAO 层,并在包含您的业务规则的上面编写一个服务层。这两者共同构成了 MVC 的模型部分。 Struts 动作是 MVC 的控制器部分。

      【讨论】:

        猜你喜欢
        • 2012-08-26
        • 1970-01-01
        • 2014-09-04
        • 2011-08-17
        • 2013-10-27
        • 2017-08-08
        • 2018-04-17
        • 2010-12-18
        • 2011-03-31
        相关资源
        最近更新 更多