Qual è la differenza tra Spring, Struts, Hibernate, JavaServer Faces, Tapestry?
Posso sapere qual è la differenza tra: -
- Primavera
- Puntoni
- Puntoni 2
- Ibernazione
- Facce JavaServer
- Pagine JavaServer
- 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.
9 answers
- 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.
- Struts è un framework di presentazione basato sull'azione (ma non utilizzarlo per un nuovo sviluppo).
- Struts 2 è un framework di presentazione basato sull'azione , la versione 2 di quanto sopra (creata da una fusione di WebWork con puntoni).
- Hibernate è uno strumento di mappatura relazionale degli oggetti, un framework di persistenza .
- JavaServer Faces è basato su componenti presentation framework .
- JavaServer Pages è una tecnologia di visualizzazione utilizzata da tutti i framework di presentazione menzionati per la vista.
- 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
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.
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.
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.
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.
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
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
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.
Differenza tra Primavera, I puntoni e Hibernate sono i seguenti:
- Spring è un framework applicativo ma Struts e hibernate non lo sono.
- Spring e Hibernate sono leggeri ma Struts 2 non lo è.
- Spring and Hibernate ha un'architettura a strati ma Struts 2 no.
- Spring e Hibernate supportano l'accoppiamento allentato ma Struts 2 non lo fa.
- Puntoni 2 e Ibernazione avere una libreria di tag ma Spring no.
- Spring e Hibernate hanno una facile integrazione con le tecnologie ORM ma Struts no.
- Struts 2 ha una facile integrazione con le tecnologie lato client ma Spring e Hibernate non hanno.