Qual è la differenza tra Spring, Struts, Hibernate, JavaServer Faces, Tapestry?


Posso sapere qual è la differenza tra: -

  1. Primavera
  2. Puntoni
  3. Puntoni 2
  4. Ibernazione
  5. Facce JavaServer
  6. Pagine JavaServer
  7. Arazzo

Queste tecnologie/framework sono complementari tra loro? O sono alternative l'una all'altra (dopo che ne uso una, quindi non ho bisogno di usare l'altra)?

Grazie.

Author: BalusC, 2010-05-15

9 answers

  1. Spring è un contenitore IoC (almeno il nucleo di Spring) e viene utilizzato per cablare le cose usando l'iniezione di dipendenza. Spring fornisce servizi aggiuntivi come la gestione delle transazioni e la perfetta integrazione di varie altre tecnologie.
  2. Struts è un framework di presentazione basato sull'azione (ma non utilizzarlo per un nuovo sviluppo).
  3. Struts 2 è un framework di presentazione basato sull'azione , la versione 2 di quanto sopra (creata da una fusione di WebWork con puntoni).
  4. Hibernate è uno strumento di mappatura relazionale degli oggetti, un framework di persistenza .
  5. JavaServer Faces è basato su componenti presentation framework .
  6. JavaServer Pages è una tecnologia di visualizzazione utilizzata da tutti i framework di presentazione menzionati per la vista.
  7. Tapestry è un altro framework di presentazione basato su componenti .

Quindi, per riassumere:

  • Struts 2, JSF, Tapestry (e Wicket, Spring MVC, Stripes) sono quadri di presentazione . Se ne usi uno, non ne usi un altro.
  • Hibernate è un persistence framework e viene utilizzato per mantenere gli oggetti Java in un database relazionale.
  • Spring può essere utilizzato per collegare tutto questo insieme e per fornire una gestione dichiarativa delle transazioni.

Non voglio rendere le cose più confuse, ma nota che Java EE 6 fornisce un equivalente moderno, standardizzato e molto bello dei framework di cui sopra: JSF 2.0 e Facelets per la presentazione, JPA 2.0 per la persistenza, l'iniezione di dipendenza, ecc. Per un nuovo sviluppo, questo è IMO un'opzione seria, Java EE 6 è un grande stack.

Vedi anche

 253
Author: Pascal Thivent, 2017-05-23 12:34:50

In generale...

Hibernate viene utilizzato per gestire le operazioni di database. Esiste un ricco set di funzionalità di utilità del database, che riduce il numero di righe di codice. Soprattutto devi leggere @ Annotazione di hibernate. È un framework ORM e un livello di persistenza.

La molla fornisce un insieme ricco del meccanismo di lavoro basato iniezione. Attualmente, la primavera è ben nota. Devi anche leggere su Spring AOP. C'è un ponte tra montanti e Ibernazione. Principalmente primavera fornisce questo tipo di utilità.

Struts2 fornisce una programmazione basata sull'azione. Ci sono un ricco set di tag Struts. I puntoni dimostrano la programmazione basata sull'azione, quindi devi mantenere tutto il controllo pertinente della tua vista.

Inoltre, Tapestry è un framework diverso per Java. In cui devi gestire solo .tml (file modello). Devi creare due file principali per qualsiasi classe. Uno è la classe JAVA e un altro è il suo modello. Entrambi i nomi sono uguali. Tapestry chiama automaticamente classi correlate.

 17
Author: Pradip Bhatt, 2017-08-07 01:36:21

Puoi vedere la panoramica e la classifica per te qui. Hibernate è un ORM, quindi puoi usare struts + Hiberante o spring + hibernate per creare un'app web. Diversi framework web e molti sono alternativi l'uno all'altro.

 6
Author: Srikar Doddi, 2010-05-15 18:23:00

Spring è un framework applicativo che si occupa di IOC (Inversione del controllo).

Struts 2 è un'applicazione web MVC framework che si occupa di azioni.

Hibernate è un ORM (Object-Relational Mapping) che si occupa di dati persistenti.

 3
Author: Nishat Lakhani, 2017-08-23 14:44:50

In hibernate non è necessario preoccuparsi di come creare una tabella in SQL e non è necessario ricordare la connessione ,l'istruzione preparata come quella i dati vengono mantenuti in un database. Quindi, in pratica rende la vita di uno sviluppatore facile.

 1
Author: dipak, 2016-03-26 15:19:28

Primavera è un framework leggero e open source creato da Rod Johnson nel 2003. Spring è un framework completo e modulare, Spring framework può essere utilizzato per tutte le implementazioni di layer per un'applicazione in tempo reale o spring può essere utilizzato per lo sviluppo di particolari layer di un'applicazione in tempo reale.

Montanti è un framework di applicazioni web open-source per lo sviluppo di applicazioni web Java EE. Esso utilizza ed estende il Java API Servlet per incoraggiare gli sviluppatori ad adottare un'architettura model–view-controller (MVC). È stato originariamente creato da Craig McClanahan e donato alla Apache Foundation nel maggio 2000.

Di seguito è riportata la tabella di confronto della differenza tra la struttura a molla e il montante

inserisci qui la descrizione dell'immagine

 0
Author: VyTcdc, 2018-05-28 14:50:10

In breve,

Struts è per lo sviluppo front-end del sito web

Hibernate è per lo sviluppo back-end del sito web

Spring è per lo sviluppo completo dello stack del sito Web in cui Spring MVC (Model-View-Controller) è per Front-end. ORM, JDBC per l'accesso ai dati / integrazione (backend). ecc

 0
Author: Tushar Jumani, 2018-09-28 09:19:06

Tapestry le pagine e i componenti sono semplici POJO(Plain Old Java Object) composto da getter e setter per un facile accesso alle funzionalità del linguaggio Java.

 -2
Author: Nishat Lakhani, 2016-02-04 06:14:15

Differenza tra Primavera, I puntoni e Hibernate sono i seguenti:

  1. Spring è un framework applicativo ma Struts e hibernate non lo sono.
  2. Spring e Hibernate sono leggeri ma Struts 2 non lo è.
  3. Spring and Hibernate ha un'architettura a strati ma Struts 2 no.
  4. Spring e Hibernate supportano l'accoppiamento allentato ma Struts 2 non lo fa.
  5. Puntoni 2 e Ibernazione avere una libreria di tag ma Spring no.
  6. Spring e Hibernate hanno una facile integrazione con le tecnologie ORM ma Struts no.
  7. Struts 2 ha una facile integrazione con le tecnologie lato client ma Spring e Hibernate non hanno.
 -2
Author: Raman Gupta, 2017-10-02 09:07:46