В чем разница между Spring, Struts, Hibernate, JavaServer Faces, Tapestry?

Могу ли я узнать, в чем разница между: -

  • Spring
  • Распорки
  • Struts 2
  • Hibernate
  • JavaServer Faces
  • Страницы JavaServer
  • Гобелен

Являются ли эти технологии/рамки взаимодополняющими друг друга? Или они альтернативы друг другу (после того, как я использую один из них, тогда мне не нужно использовать другое)?

Спасибо.

Ответ 1

  • Spring является контейнером IoC (по крайней мере, ядром Spring) и используется для соединения вещей с использованием инъекции зависимостей. Spring предоставляет дополнительные услуги, такие как управление транзакциями и бесшовная интеграция различных других технологий.
  • Struts - основанная на действии инфраструктура представления (но не использует ее для новой разработки).
  • Struts 2 - основанная на действии инфраструктура представления , версия 2 выше (созданная при слиянии WebWork с Struts).
  • Hibernate - это инструмент объектно-реляционного сопоставления, инфраструктура сохранения.
  • JavaServer Faces - это компонентная инфраструктура представления .
  • Страницы JavaServer - это технология просмотра, используемая всеми упомянутыми структурами представления для представления.
  • Гобелен - это еще одна инфраструктура представления .

Итак, суммируем:

  • Struts 2, JSF, Tapestry (и Wicket, Spring MVC, Stripes) представляют собой рамки представления. Если вы используете один из них, вы не используете другой.
  • Hibernate - это инфраструктура персистентности и используется для сохранения объектов Java в реляционной базе данных.
  • Spring можно использовать для соединения всего этого и обеспечения декларативного управления транзакциями.

Я не хочу делать что-то более запутанным, но обратите внимание, что Java EE 6 обеспечивает современный, стандартизованный и очень хороший эквивалент вышеупомянутых фреймворков: JSF 2.0 и Facelets для презентации, JPA 2.0 для настойчивости, Injection Dependency и т.д.. Для новой разработки это IMO серьезный вариант, Java EE 6 - это большой стек.

См. также

Ответ 2

Вообще...

Hibernate используется для обработки операций с базой данных. Существует богатый набор функциональных возможностей базы данных, что сокращает количество строк кода. Особенно вы должны прочитать @Ninotation спящего режима. Это структура ORM и уровень сохранения.

Spring предоставляет богатый набор рабочего механизма, основанного на инъекциях. В настоящее время Spring хорошо известен. Вы также должны прочитать о Spring АОП. Между Струтами и Гибернатом есть мост. В основном Spring предоставляет такую ​​утилиту.

Struts2 обеспечивает программирование на основе действий. Существует множество наборов тегов Struts. Struts доказывают программирование на основе действий, поэтому вам необходимо поддерживать все соответствующие элементы управления вашим представлением.

В дополнение, Tapestry - это другая структура для Java. В котором вам нужно обрабатывать только .tml (файл шаблона). Вы должны создать два основных файла для любого класса. Один из них - класс JAVA, а другой - его шаблон. Оба названия одинаковы. Гобелен автоматически вызывает связанные классы.

Ответ 3

Вы можете посмотреть обзор и рейтинг для себя здесь. Hibernate - ORM, поэтому вы можете использовать либо struts + Hiberante, либо spring + hibernate для создания веб-приложения. Различные веб-фреймворки и многие альтернативы друг другу.

Ответ 4

Spring - это инфраструктура приложения, которая имеет дело с IOC (Inversion of Control).

Struts 2 - это структура MVC веб-приложения, которая занимается действиями.

Hibernate - это ORM (объектно-реляционное сопоставление), которое имеет дело с постоянными данными.

Ответ 5

В спящем режиме вам не нужно беспокоиться о том, как создавать таблицу в SQL, и вам не нужно запоминать соединение, подготовленный оператор, подобный тому, что данные сохраняются в базе данных. Таким образом, в основном это упрощает жизнь разработчика.

Ответ 6

Отличие между Spring, Struts и Hibernate:

  • Spring - это Application Framework, но Struts и hibernate не являются.
  • Spring, а Hibernate - взвешенные по весу, но Struts 2 - нет.
  • Spring и Hibernate имеет многоуровневую архитектуру, но Struts 2 не работает.
  • Spring и Hibernate поддерживают свободную связь, но Struts 2 не делает.
  • У Struts 2 и Hibernate есть библиотека тегов, но Spring нет.
  • Spring и Hibernate имеют легкую интеграцию с технологиями ORM, но Struts не делает.
  • Struts 2 имеет легкую интеграцию с клиентскими технологиями, но Spring и Hibernate не имеют.

Ответ 7

Страницы и компоненты Tapestry просты POJO (обычный старый объект Java), состоящий из геттеров и сеттеров для легкого доступа к функциям языка Java.