Чим відрізняються Весна, Струни, Зимова сплячка, Обличчя JavaServer, Гобелен?


199

Чи можу я знати, яка різниця між: -

  1. Весна
  2. Струни
  3. Стрічки 2
  4. Зимує
  5. Обличчя JavaServer
  6. Сторінки JavaServer
  7. Гобелен

Чи ці технології / рамки взаємодоповнюють один одного? Або вони є альтернативами один одному (після того, як я використовую одну з них, тоді мені не потрібно використовувати іншу)?

Дякую.

Відповіді:


267
  1. Spring є контейнером IoC (принаймні стрижнем Spring) і використовується для передачі речей за допомогою ін'єкції залежності. Spring надає додаткові послуги, такі як управління транзакціями та безпроблемна інтеграція різних інших технологій.
  2. Struts - це презентація на основі дії (але не використовуйте її для нової розробки).
  3. Struts 2 - це презентація на основі дії , версія 2 вищезазначеного (створена злиттям WebWork з Struts).
  4. Зимова сплячка - це об'єктно-реляційний інструмент відображення, система стійкості .
  5. Обличчя JavaServer - це презентація на базі компонентів .
  6. JavaServer Pages - це технологія перегляду, яка використовується всіма згаданими рамками презентації для подання.
  7. Гобелен - ще одна структура презентації на основі компонентів .

Отже, підсумовуючи:

  • Struts 2, JSF, Гобелен (і Wicket, Spring MVC, Stripes) є рамками презентації . Якщо ви використовуєте один з них, ви не використовуєте інший.
  • Hibernate - це система збереження та використовується для збереження об'єктів Java у реляційній базі даних.
  • Весна може бути використана для з’єднання всього цього разом і для забезпечення декларативного управління транзакціями.

Я не хочу робити речі більш заплутаними, але зауважте, що Java EE 6 забезпечує сучасний, стандартизований і дуже приємний еквівалент вищевказаних рамок: JSF 2.0 та Facelet для презентації, JPA 2.0 для наполегливості, введення залежностей тощо. Для Нова розробка, це серйозний варіант IMO , Java EE 6 - це чудовий стек.

Дивитися також


2
Я хотів би зазначити, що в такому контексті порівняння деякі люди також використовують слово Spring для позначення власної рамки MVC (що набагато приємніше, ніж Струц ІМО).
MetroidFan2002

Чудово пояснено, але все-таки це занадто технічно. Я б радив вам пояснити це у непрофесійних термінах. У будь-якому випадку посилання в кінці це зробили.
noob

Відповідь справді є чудовою відправною точкою, але її можна було б покращити, пояснивши основні поняття, що вводяться (на основі запиту на основі компонентних фреймворків, IoC-контейнерів, фреймворку презентації проти стійкості ...) Як зараз, це вимагає безлічі додаткових googeling, але це все-таки хороша відповідь та чудова відправна точка! Оновлення
Wouter

19

Взагалі ...

Hibernate використовується для обробки операцій з базою даних. Існує багатий набір функціональних можливостей бази даних, що зменшує кількість рядків коду. Тим більше ви повинні прочитати @Anonotation hibernate. Це рамка ORM і стійкість.

Весна забезпечує багатий набір робочого механізму на основі ін'єкцій. Наразі Весна добре відома. Ви також повинні прочитати про Spring AOP. Між Струтами та Зимовим сном є міст. В основному Весна надає такий вид корисності.

Struts2 забезпечує програмування на основі дій. Існує багатий набір тегів Struts. Struts доводить програмування на основі дії, тому вам доведеться підтримувати весь відповідний контроль свого зору.

Крім того, гобелен - це інша основа для Java. У якому вам потрібно обробити лише .tml(файл шаблону). Вам потрібно створити два основні файли для будь-якого класу. Один - клас JAVA, а інший - його шаблон. Обидва імені однакові. Гобелен автоматично викликає споріднені класи.


7

Огляд та класифікацію для себе ви можете подивитися тут . Hibernate - це ОРМ, тому для створення веб-програми ви можете використовувати будь-які стойки + Hiberante або spring + hibernate. Різні веб-рамки та багато інших є альтернативами один одному.


4

Spring - це прикладна програма, яка займається IOC (Інверсія управління).

Struts 2 - це веб-програма MVC, яка займається діями.

Hibernate - це ORM (Object-Relational Mapping), що займається постійними даними.


3

Коротко,

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

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

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


2

У сплячому режимі вам не потрібно турбуватися про те, як створити таблицю в SQL, і вам не потрібно пам’ятати про з'єднання, підготовлена ​​операція, подібна до того, що дані зберігаються в базі даних. Отже, в основному це полегшує життя розробника.


2

Весна - це невелика вага та рамки з відкритим кодом, створені Родом Джонсоном у 2003 році. Весна - це повна та модульна рамка. Весняна рамка може використовуватися для всіх реалізацій шарів для додатків у реальному часі, або весна може бути використана для розробки конкретного шару програми в реальному часі.

Struts - це програма з відкритим вихідним кодом для розробки веб-додатків Java EE. Він використовує та розширює API Java Servlet, щоб заохотити розробників прийняти архітектуру моделі-перегляду-контролера (MVC). Спочатку він був створений Крейгом МакКланаханом та переданий Фонду Apache у травні 2000 року.

Нижче наведено порівняльну діаграму різниці між Spring і Strut Framework

введіть тут опис зображення


0

Гобелен сторінка і компоненти є простим POJO - х (Plain Old Java Object) , що складається з видобувачів і сеттерів для легкого доступу до функцій мови Java.


0

Різниця між весною , стритами та сплячкою така:

  1. Весна - це Прикладна Рамка, але розрізи та сплячий стан - ні.
  2. Весна та сплячка - це легке зваження, але Струни 2 - ні.
  3. Весна та сплячка має багатошарову архітектуру, але Struts 2 не має.
  4. Пружина та сплячка підтримують нещільну муфту, але Struts 2 ні.
  5. У Struts 2 та Hibernate є бібліотека тегів, але Spring - ні.
  6. Spring і Hibernate мають легку інтеграцію з ORM технологіями, але Struts цього не робить.
  7. Struts 2 має просту інтеграцію з клієнтськими технологіями, але Spring і Hibernate не мають.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.