В чем разница между DAO и Spring Beans? - PullRequest
4 голосов
/ 10 ноября 2010

Я начинаю программировать на Java (с использованием Spring Framework) и нахожусь в замешательстве по поводу различий между DAO и Spring Beans.Они служат той же цели?

Ответы [ 3 ]

5 голосов
/ 10 ноября 2010

DAO == Объект доступа к данным. Это один из способов написать постоянный слой.

Spring может управлять bean-компонентами DAO и множеством других типов, таких как bean-объекты, управляемые сообщениями, сервисами, веб-контроллерами и всем, что вы можете инкапсулировать в bean-компонент.

Пружина состоит из трех частей:

  1. Инверсия контроля (МОК). Подумайте о Spring как о большой фабрике по созданию и управлению bean-компонентами.
  2. Аспектно-ориентированное программирование (АОП). Именно так Spring управляет сквозными задачами, такими как ведение журнала, транзакции, проксирование, удаленное взаимодействие и другие действия, которые иначе были бы засорены в вашем приложении.
  3. Код платформы, такой как шаблоны персистентности для JDBC, Hibernate, TopLink и т. Д .; Remoting; веб MVC; и т. д. Они пишут лучший код, чем мы - вы можете просто использовать его.
2 голосов
/ 10 ноября 2010

DAO - это шаблонная концепция (http://www.oracle.com/technetwork/java/dataaccessobject-138824.html).

Spring Beans - это экземпляры классов, управляемые Spring.

Конечно, вы можете использовать Spring IOC для реализации приложения с использованием DAO.

1 голос
/ 10 ноября 2010

DAO предназначены для абстрагирования от того, как приложение создает объект данных.Более конкретно, вы можете иметь интерфейс UserDAO и реализовать его как UserHibernateDAO, UserIbatisDAO, UserFileDAO и заставить их возвращать данные в одном формате из разных источников.

Duffymo объяснил Spring.

...