java - 了解 DAO 在 MVC Java Web 应用程序中的位置

标签 java model-view-controller dao

我使用下面的(稍微过时的)链接作为学习和理解 DAO 在我的网络应用程序中正确使用的指南。

http://balusc.blogspot.com/2008/07/dao-tutorial-data-layer.html

http://balusc.blogspot.com/2008/07/dao-tutorial-use-in-jspservlet.html

一般来说,在 Servlet 的 INIT() 方法中初始化 DAO,然后将该 DAO 传递给模型是否正确?或者 DAO 应该更紧密地集成到模型中,或者可能是模型的一部分?也就是说……有没有更好的方法让 Model 获得定制的 DAO?

诚然,我在这里拓展了我对这个主题的了解,所以如果我的措辞不好,我深表歉意。启发总是受欢迎的。

最佳答案

我不是来自 Java 世界,所以您要寻求的可能不是我的意见。但我非常确定,理想的方法是将 DAO 与模型的其余部分松散耦合(您可能正在谈论 DAO X 业务类 - 对我来说,DAO 和业务对象都属于“模型”,但您的情况可能会有所不同)。

这样就可以轻松替换所有 DAO 层。我创建了一个具有 2 个不同且完整的 DAO 实现的应用程序:一个使用 Oracle DMBS,另一个使用 MySQL。也许这就是您正在寻找的 - 并且使用抽象工厂模式很容易。

当然,我认为 Java 程序员可以使用 Spring IoC 容器来实现这一点:)

关于java - 了解 DAO 在 MVC Java Web 应用程序中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3919705/

相关文章:

javascript - 如何在 onchange 函数之后将值加载到输入中

java - 协助通用服务/dao 层

java - 添加一个方面来捕获异常并返回 null

java - 我应该担心密码安全吗?

java - 无法从 start.spring.io 启动 Spring Boot 2x 应用程序

java - 第 1 行 : Can't create database 'mgsv' ; database exists 处出现错误 1007 (HY000)

ios - MVC 最佳实践和 View Controller 卸载?

java - 如何正确创建 2 路 TLS 的 SSLSocketFactory? (适用于苹果支付)

model-view-controller - Symfony Actions 命名空间,还是更好的方法?

java - 如何在java HashMap中根据产品类别获取产品详细信息?