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




2018 backend (8)

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

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

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

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

  1. весна
  2. Распорки
  3. Struts 2
  4. зимовать
  5. JavaServer Faces
  6. Страницы JavaServer
  7. гобелен

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

Благодарю.


Вкратце,

Struts для Front-end разработки веб-сайта

Hibernate предназначен для создания веб-сайта

Spring для полной разработки стека веб-сайта благодаря архитектуре MVC (Model-View-Controller)


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


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


  1. Spring - это контейнер IoC (по крайней мере, ядро ​​пружины) и используется для соединения вещей с использованием инъекции зависимостей. 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 для настойчивости, Injection Dependency и т. Д. Для новая разработка, это IMO - серьезный вариант, Java EE 6 - отличный стек.

Смотрите также


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

  1. Spring - это Application Framework, но Struts и hibernate - нет.
  2. Весна и спящий режим - взвешенные по весу, но Struts 2 - нет.
  3. Spring и Hibernate имеют многоуровневую архитектуру, но Struts 2 - нет.
  4. Spring и Hibernate поддерживают свободную муфту, но Struts 2 - нет.
  5. У Struts 2 и Hibernate есть библиотека тегов, но Spring нет.
  6. Spring и Hibernate имеют легкую интеграцию с технологиями ORM, но Struts этого не делает.
  7. Struts 2 имеет легкую интеграцию с клиентскими технологиями, но Spring и Hibernate не имеют.

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


Библиотека выполняет конкретные, четко определенные операции.

Рамка представляет собой скелет, в котором приложение определяет «мясо» операции, заполняя скелет. У скелета все еще есть код для соединения частей, но самая важная работа выполняется приложением.

Примеры библиотек: Сетевые протоколы, сжатие, манипулирование изображениями, строковые утилиты, оценка регулярных выражений, математика. Операции являются самодостаточными.

Примеры фреймворков: система веб-приложений, диспетчер подключаемых модулей, система GUI. Структура определяет концепцию, но приложение определяет основную функциональность, о которой заботятся конечные пользователи.





java frameworks java-ee