gpt4 book ai didi

java - Spring 中的 DAO 和服务层 : session management

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:42 24 4
gpt4 key购买 nike

我对DAO & Service层互联原理的理解是否正确?DAO 执行基础对象的提取,比如通过数据库中的 id。

服务层使用一个 DAO 对象,并且可以在一个函数中调用不止一种 DAO 方法。因此,服务层必须:

  1. 实例化一个 DAO 实现对象

  2. 根据需要调用尽可能多的 DAO 方法

如果 Dao 实现接口(interface),那么 DAO 接口(interface)是否必须具有方法 setSessionFactory()

如何在 Spring 中声明式标记:

  1. DAO对象

  2. 服务层方法,以及整个类

这样它就能提供所需的东西?

最佳答案

我很惊讶没有其他人特别提到这一点,但是像 setSessionFactory() 这样的特定实现细节不应该在您的 DAO 接口(interface)中。通过将特定于 Hibernate 的类添加到您的 DAO 接口(interface),您可以将您的 DAO 直接绑定(bind)到 Hibernate。

使用接口(interface)和依赖注入(inject)的目的是允许您更改一个层(您的 DAO)的实现细节(例如,您使用什么 ORM 解决方案,或者您的数据是来自 Web 服务还是来自数据库)不影响其他层。

如果您将 setSessionFactory 添加到您的 DAO 接口(interface),那么使用该 DAO 的所有其他层都会意识到并绑定(bind)到数据访问是通过 Hibernate 完成的事实。这与您试图通过使用接口(interface)和依赖项注入(inject)实现的目标完全相反。

关于java - Spring 中的 DAO 和服务层 : session management,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2566618/

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