我使用下面的(稍微过时的)链接作为学习和理解 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/