Was ist der Unterschied zwischen Spring, Struts, Hibernate, JavaServer Faces und Tapestry?

199

Darf ich wissen, was der Unterschied ist zwischen:

  1. Frühling
  2. Streben
  3. Streben 2
  4. Überwintern
  5. JavaServer-Gesichter
  6. JavaServer-Seiten
  7. Tapisserie

Ergänzen sich diese Technologien / Frameworks? Oder sind sie Alternativen zueinander (nachdem ich einen von ihnen verwendet habe, muss ich den anderen nicht verwenden)?

Vielen Dank.

CMW
quelle

Antworten:

267
  1. Spring ist ein IoC-Container (zumindest der Kern von Spring) und wird verwendet, um Dinge mithilfe der Abhängigkeitsinjektion zu verdrahten. Spring bietet zusätzliche Services wie das Transaktionsmanagement und die nahtlose Integration verschiedener anderer Technologien.
  2. Struts ist ein aktionsbasiertes Präsentationsframework (verwenden Sie es jedoch nicht für eine Neuentwicklung).
  3. Struts 2 ist ein aktionsbasiertes Präsentationsframework , die Version 2 des oben genannten (erstellt aus einer Zusammenführung von WebWork mit Struts).
  4. Hibernate ist ein objektrelationales Mapping-Tool, ein Persistenz-Framework .
  5. JavaServer Faces ist ein komponentenbasiertes Präsentationsframework .
  6. JavaServer Pages ist eine Ansichtstechnologie, die von allen genannten Präsentationsframeworks für die Ansicht verwendet wird.
  7. Tapisserie ist ein weiteres komponentenbasiertes Präsentationsframework .

Um es zusammenzufassen:

  • Struts 2, JSF, Tapestry (und Wicket, Spring MVC, Stripes) sind Präsentationsrahmen . Wenn Sie einen von ihnen verwenden, verwenden Sie keinen anderen.
  • Der Ruhezustand ist ein Persistenz-Framework und wird verwendet, um Java-Objekte in einer relationalen Datenbank zu persistieren.
  • Spring kann verwendet werden, um all dies miteinander zu verbinden und ein deklaratives Transaktionsmanagement bereitzustellen.

Ich möchte die Dinge nicht verwirrender machen, aber beachten Sie, dass Java EE 6 ein modernes, standardisiertes und sehr schönes Äquivalent zu den oben genannten Frameworks bietet: JSF 2.0 und Facelets für die Präsentation, JPA 2.0 für die Persistenz, Dependency Injection usw. Für a Neuentwicklung, dies ist IMO eine ernsthafte Option, Java EE 6 ist ein großartiger Stack.

Siehe auch

Pascal Thivent
quelle
2
Ich möchte darauf hinweisen, dass in diesem Vergleichskontext einige Leute das Wort Spring auch verwenden, um auf sein eigenes MVC-Framework zu verweisen (das viel schöner ist als Struts IMO).
MetroidFan2002
Schön erklärt, aber trotzdem zu technisch. Ich würde Ihnen raten, es in Laienbegriffen zu erklären. Sowieso haben die Links am Ende das getan.
Noob
Die Antwort ist in der Tat ein guter Ausgangspunkt, könnte aber durch Erläuterung der eingeführten Hauptkonzepte (anforderungsbasiertes oder komponentenbasiertes Framework, IoC-Container, Präsentations- und Persistenz-Framework ...) verbessert werden. Derzeit sind viele zusätzliche erforderlich googeln, aber es ist immer noch eine gute Antwort und ein guter Ausgangspunkt! Upvote.
Wouter
19

Allgemein...

Der Ruhezustand wird für die Verarbeitung von Datenbankoperationen verwendet. Es gibt eine Vielzahl von Funktionen für Datenbankdienstprogramme, mit denen Sie die Anzahl der Codezeilen reduzieren können. Vor allem muss man @Annotation of Hibernate lesen. Es ist ein ORM-Framework und eine Persistenzschicht.

Die Feder bietet einen umfassenden Satz des auf Injektionen basierenden Arbeitsmechanismus. Derzeit ist der Frühling bekannt. Sie müssen auch über Spring AOP lesen. Es gibt eine Brücke zwischen Struts und Hibernate. Hauptsächlich bietet Spring diese Art von Nutzen.

Struts2 bietet aktionsbasierte Programmierung. Es gibt eine Vielzahl von Struts-Tags. Struts beweisen eine aktionsbasierte Programmierung, sodass Sie die relevante Kontrolle über Ihre Ansicht behalten müssen.

Darüber hinaus ist Tapestry ein anderes Framework für Java. In dem müssen Sie nur behandeln .tml(Vorlagendatei). Sie müssen zwei Hauptdateien für jede Klasse erstellen. Eine ist die JAVA-Klasse und eine andere ist ihre Vorlage. Beide Namen sind gleich. Tapisserie ruft automatisch verwandte Klassen auf.

Pradip Bhatt
quelle
7

Die Übersicht und das Ranking können Sie hier selbst sehen . Der Ruhezustand ist ein ORM, sodass Sie entweder Struts + Hiberante oder Spring + Hibernate verwenden können, um eine Web-App zu erstellen. Verschiedene Web-Frameworks und viele sind Alternativen zueinander.

Srikar Doddi
quelle
4

Spring ist ein Anwendungsframework, das sich mit IOC (Inversion of Control) befasst.

Struts 2 ist ein Webanwendungs-MVC-Framework, das sich mit Aktionen befasst.

Hibernate ist ein ORM (Object-Relational Mapping), das sich mit persistenten Daten befasst.

Nishat Lakhani
quelle
3

Zusamenfassend,

Struts ist für die Front-End-Entwicklung der Website

Der Ruhezustand dient zur Back-End-Entwicklung der Website

Spring ist für die Full-Stack-Entwicklung einer Website vorgesehen, auf der Spring MVC (Model-View-Controller) für das Front-End vorgesehen ist. ORM, JDBC für Datenzugriff / Integration (Backend). etc

Tushar Jumani
quelle
2

Im Ruhezustand müssen Sie sich nicht darum kümmern, wie eine Tabelle in SQL erstellt wird, und Sie müssen sich nicht an die Verbindung erinnern. Eine vorbereitete Anweisung wie diese Daten bleibt in einer Datenbank erhalten. Im Grunde genommen macht es einem Entwickler das Leben leichter.

Dipak
quelle
2

Spring ist ein leichtes und Open-Source-Framework, das 2003 von Rod Johnson entwickelt wurde. Spring ist ein vollständiges und modulares Framework. Das Spring-Framework kann für alle Layer-Implementierungen für eine Echtzeitanwendung verwendet werden, oder Spring kann für die Entwicklung einer bestimmten Layer verwendet werden einer Echtzeitanwendung.

Struts ist ein Open-Source-Webanwendungsframework für die Entwicklung von Java EE-Webanwendungen. Es verwendet und erweitert die Java-Servlet-API, um Entwickler zu ermutigen, eine MVC-Architektur (Model-View-Controller) zu verwenden. Es wurde ursprünglich von Craig McClanahan erstellt und im Mai 2000 an die Apache Foundation gespendet.

Nachfolgend ist die Vergleichstabelle der Unterschiede zwischen Spring und Strut Framework aufgeführt

Geben Sie hier die Bildbeschreibung ein

VyTcdc
quelle
0

Tapisserieseiten und -komponenten sind einfache POJOs (Plain Old Java Object), die aus Gettern und Setzern für den einfachen Zugriff auf Java-Sprachfunktionen bestehen.

Nishat Lakhani
quelle
0

Der Unterschied zwischen Spring , Struts und Hibernate ist folgender:

  1. Spring ist ein Anwendungsframework , Struts und Hibernate jedoch nicht.
  2. Spring und Hibernate sind leicht , Struts 2 jedoch nicht.
  3. Spring and Hibernate hat eine vielschichtige Architektur , Struts 2 jedoch nicht.
  4. Feder und Ruhezustand unterstützen lose Kupplungen , Streben 2 jedoch nicht.
  5. Struts 2 und Hibernate haben eine Tag-Bibliothek , Spring jedoch nicht.
  6. Spring und Hibernate lassen sich problemlos in ORM-Technologien integrieren , Struts jedoch nicht.
  7. Struts 2 lässt sich problemlos in clientseitige Technologien integrieren , Spring und Hibernate jedoch nicht.
Raman Gupta
quelle