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

发布于 2024-09-26 20:57:46 字数 574 浏览 2 评论 0原文

我使用下面的(稍微过时的)链接作为学习和理解在我的网络应用程序中正确使用 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?

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

I'm using the (slightly dated) links below as a guide to learning and understanding proper use of DAOs in my web apps.

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

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

Generally speaking, is it correct to initialize a DAO in the INIT() method of a Servlet, and then pass that DAO to the model ? Or should the DAO be more tightly integrated in the Model, or perhaps a part of the Model ? That is... is there a better way for the Model to acquire a tailored DAO ?

Admittedly I'm stretching my knowledge of the subject here, so if I've worded this poorly I apologize. Enlightenment is always welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人间☆小暴躁 2024-10-03 20:57:46

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

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

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

I'm not from the Java world, so probably it's not my opinion you're seeking for. But I'm pretty sure that the ideal way to do it is to have your DAOs loosely coupled to the rest of your Model (your probably talking about DAOs X business classes - to me both DAOs and business objects belong to "The Model", but your mileage may vary).

That way it's easy to replace all your DAO layer. I have created an application with 2 distinct and complete DAO implementations: one using Oracle DMBS, the other MySQL. Maybe that's what you're looking for - and it's easy using the abstract factory pattern.

Of course, Java programmers can use the Spring IoC container for that, I suppose :)

咽泪装欢 2024-10-03 20:57:46

Spring 实现了所谓的工厂模式。这让 spring 能够处理创建应用程序中使用的 DAO 对象。当您这样做时,实现与调用它们的代码的耦合非常松散。

使用 Spring(或类似的工具)比在调用 DAO 的类中创建 DAO 实例要好得多。

下面是一个关于将 Spring 与 DAO 一起使用的教程:

http://www. ibm.com/developerworks/java/tutorials/j-spring2/

Spring implements what is called the factory pattern. This lets spring handle creating the DAO objects that are used in your application. When you do this, the implementations are very loosely coupled with the code calling them.

Using Spring (or a similar tool) is much better than creating instances of your DAO's in classes that call them.

Here is a tutorial that talks about using Spring with DAO's:

http://www.ibm.com/developerworks/java/tutorials/j-spring2/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文