В чем разница между 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.