DAO和Spring Beans有什么区别?

时间:2010-11-10 01:06:51

标签: java spring dao javabeans

我开始用Java编程(使用Spring Framework),并发现自己对DAO和Spring的Bean之间的区别感到困惑。它们是出于同样的目的吗?

3 个答案:

答案 0 :(得分:5)

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

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

Spring有三个部分:

  1. 控制反转(IOC)。将Spring视为创建和管理bean的大工厂。
  2. 面向方面编程(AOP)。这就是Spring如何管理交叉问题,如日志记录,事务,代理,远程处理以及其他在整个应用程序中乱七八糟的活动。
  3. 框架代码,如JDBC,Hibernate,TopLink等的持久性模板;远程; web MVC;他们写的代码比我们写得好 - 你只需要使用它。

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

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

Duffymo解释了Spring。