【问题标题】:What is the difference between DAO and Spring Beans?DAO 和 Spring Bean 有什么区别?
【发布时间】:2011-05-07 14:56:53
【问题描述】:

我开始使用 Java(使用 Spring 框架)进行编程,发现自己对 DAO 和 Spring 的 Bean 之间的区别感到困惑。它们的目的是否相同?

【问题讨论】:

    标签: java spring dao javabeans


    【解决方案1】:

    DAO == 数据访问对象。这是编写持久层的一种方式。

    Spring 可以管理 DAO bean 和许多其他类型,例如消息驱动 bean、服务、Web 控制器以及您可以封装到 bean 中的任何其他内容。

    Spring 分为三个部分:

    1. 控制反转 (IOC)。将 Spring 视为创建和管理 bean 的大工厂。
    2. 面向方面的编程 (AOP)。这就是 Spring 管理横切关注点的方式,例如日志记录、事务、代理、远程处理和其他活动,否则这些活动会在整个应用程序中乱扔。
    3. 框架代码,如JDBC、Hibernate、TopLink等的持久化模板;远程处理;网络MVC;等等。他们编写的代码比我们更好 - 你可以直接使用它。

    【讨论】:

      【解决方案2】:

      DAO 是一个模式概念 (http://www.oracle.com/technetwork/java/dataaccessobject-138824.html)。

      Spring Bean 是由 Spring 管理的类实例。

      当然,您可以使用 Spring IOC 来实现使用 DAO 的应用程序。

      【讨论】:

        【解决方案3】:

        DAO 旨在抽象出应用程序如何构造数据对象。更具体地说,您可以拥有一个接口 UserDAO 并将其实现为 UserHibernateDAOUserIbatisDAOUserFileDAO,并让它们以单一格式从不同来源返回数据。

        Duffymo 解释了 Spring。

        【讨论】:

          猜你喜欢
          • 2014-10-05
          • 2010-11-08
          • 2013-09-17
          • 2010-10-04
          • 2016-12-20
          • 1970-01-01
          • 2013-03-30
          • 2019-05-06
          • 2019-01-08
          相关资源
          最近更新 更多