В чем разница между Spring, Struts, Hibernate, JavaServer Faces и Tapestry? - PullRequest
195 голосов
/ 15 мая 2010

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

  1. Весна
  2. Struts
  3. Распорки 2
  4. Hibernate
  5. JavaServer Faces
  6. JavaServer Pages
  7. гобелен

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

Спасибо.

Ответы [ 9 ]

264 голосов
/ 15 мая 2010
  1. Spring является контейнером IoC (по крайней мере, ядром Spring) и используется для связывания вещей с помощью внедрения зависимостей. Spring предоставляет дополнительные услуги, такие как управление транзакциями и бесшовная интеграция различных других технологий.
  2. Struts - это основанная на действии структура представления (но не используйте ее для новой разработки).
  3. Struts 2 - основанная на действии платформа представления , версия 2 выше (созданная в результате слияния WebWork со Struts).
  4. Hibernate - это инструмент объектно-реляционного отображения, постоянная среда .
  5. JavaServer Faces - это основанная на компонентах структура представления .
  6. JavaServer Pages - это технология представления, используемая всеми упомянутыми платформами представления для представления.
  7. Гобелен - это еще одна основанная на компонентах структура представления .

Итак, подведем итог:

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

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

Смотри также

18 голосов
/ 18 марта 2013

Обычно ...

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

Spring предоставляет богатый набор рабочих механизмов на основе Injection. В настоящее время весна хорошо известна. Вы также должны прочитать о Spring AOP. Между Struts и Hibernate есть мост. В основном Spring предоставляет такие утилиты.

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

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

7 голосов
/ 15 мая 2010

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

4 голосов
/ 04 февраля 2016

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

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

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

3 голосов
/ 08 марта 2018

Короче говоря,

Struts предназначен для фронтальной разработки веб-сайта

Hibernate для внутренней разработки сайта

Spring для полной разработки веб-сайта, в котором Spring MVC (Model-View-Controller) предназначен для Front-end. ORM, JDBC для доступа к данным / интеграции (бэкэнд). и т.д.

2 голосов
/ 28 мая 2018

Spring - это легковесный фреймворк с открытым исходным кодом, созданный Rod Johnson в 2003 году. Spring - полный и модульный фреймворк, Spring Framework может быть используется для всех реализаций слоев для приложения реального времени или пружина может использоваться для разработки определенного уровня приложения реального времени.

Struts - это платформа веб-приложений с открытым исходным кодом для разработки веб-приложений Java EE. Он использует и расширяет API сервлетов Java, чтобы побудить разработчиков принять архитектуру модель-представление-контроллер (MVC). Первоначально он был создан Крейгом МакКланаханом и передан Фонду Apache в мае 2000 года.

Ниже приведен сравнительный график различий между Spring и Strut Framework

enter image description here

2 голосов
/ 19 июня 2012

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

0 голосов
/ 02 октября 2017

Разница между Spring , Struts и Hibernate следующие:

  1. Spring - это прикладная среда , а Struts и hibernate - нет.
  2. Весной и спящим является легкий вес , но Struts 2 - нет.
  3. Spring и Hibernate имеют многоуровневую архитектуру , а Struts 2 - нет.
  4. Пружина и гибернация поддерживают слабое сцепление , но Struts 2 нет.
  5. В Struts 2 и Hibernate есть библиотека тегов , а в Spring нет.
  6. Spring и Hibernate легко интегрируются с технологиями ORM , а Struts - нет.
  7. Struts 2 имеет простую интеграцию с технологиями на стороне клиента , но Spring и Hibernate не имеют.
0 голосов
/ 04 февраля 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...