Quelle est la différence entre Spring, Struts, Hibernate, JavaServer Faces, Tapestry?

199

Puis-je savoir quelle est la différence entre: -

  1. Printemps
  2. Struts
  3. Struts 2
  4. Hiberner
  5. Visages JavaServer
  6. Pages JavaServer
  7. Tapisserie

Ces technologies / cadres sont-ils complémentaires les uns des autres? Ou sont-ils des alternatives les uns aux autres (après avoir utilisé l'un d'eux, je n'ai pas besoin d'utiliser l'autre)?

Merci.

CMW
la source

Réponses:

267
  1. Spring est un conteneur IoC (au moins le cœur de Spring) et est utilisé pour câbler des choses en utilisant l'injection de dépendance. Spring fournit des services supplémentaires comme la gestion des transactions et l'intégration transparente de diverses autres technologies.
  2. Struts est un cadre de présentation basé sur l'action (mais ne l'utilisez pas pour un nouveau développement).
  3. Struts 2 est un cadre de présentation basé sur l'action , la version 2 de ce qui précède (créé à partir d'une fusion de WebWork avec Struts).
  4. Hibernate est un outil de cartographie relationnelle-objet, un framework de persistance .
  5. JavaServer Faces est un framework de présentation basé sur des composants .
  6. JavaServer Pages est une technologie de vue utilisée par tous les cadres de présentation mentionnés pour la vue.
  7. Tapestry est un autre cadre de présentation basé sur des composants .

Donc, pour résumer:

  • Struts 2, JSF, Tapestry (et Wicket, Spring MVC, Stripes) sont des cadres de présentation . Si vous en utilisez un, vous n'en utilisez pas d'autre.
  • Hibernate est un framework de persistance et est utilisé pour conserver des objets Java dans une base de données relationnelle.
  • Spring peut être utilisé pour câbler tout cela ensemble et pour fournir une gestion déclarative des transactions.

Je ne veux pas rendre les choses plus confuses, mais notez que Java EE 6 fournit un équivalent moderne, standardisé et très agréable des cadres ci-dessus: JSF 2.0 et Facelets pour la présentation, JPA 2.0 pour la persistance, injection de dépendance, etc. nouveau développement, c'est IMO une option sérieuse , Java EE 6 est une super pile.

Voir également

Pascal Thivent
la source
2
Je voudrais souligner que dans ce type de contexte de comparaison, certaines personnes utilisent également le mot Spring pour faire référence à son propre framework MVC (qui est beaucoup plus agréable que Struts IMO).
MetroidFan2002
Joliment expliqué, mais c'est quand même trop technique. Je vous conseille de l'expliquer en termes simples. Quoi qu'il en soit, les liens à la fin l'ont fait.
noob
La réponse est en effet un excellent point de départ, mais pourrait être améliorée en expliquant les principaux concepts introduits (frameworks basés sur les requêtes vs basés sur les composants, conteneurs IoC, présentation vs framework persistant ...) En l'état actuel, il nécessite beaucoup de googeling, mais c'est toujours une bonne réponse, et un excellent point de départ! Upvote.
Wouter le
19

Généralement...

Hibernate est utilisé pour gérer les opérations de base de données. Il existe un riche ensemble de fonctionnalités d'utilitaire de base de données, ce qui réduit votre nombre de lignes de code. Surtout, vous devez lire @Annotation of hibernate. Il s'agit d'un cadre ORM et d'une couche de persistance.

Le ressort fournit un ensemble riche du mécanisme de travail basé sur l'injection. Actuellement, le printemps est bien connu. Vous devez également lire sur Spring AOP. Il y a un pont entre Struts et Hibernate. Principalement, Spring fournit ce type d'utilitaire.

Struts2 fournit une programmation basée sur l'action. Il existe un riche ensemble de balises Struts. Les entretoises prouvent la programmation basée sur l'action, vous devez donc conserver tout le contrôle pertinent de votre vue.

De plus, Tapestry est un framework différent pour Java. Dans lequel vous devez gérer uniquement .tml(fichier modèle). Vous devez créer deux fichiers principaux pour n'importe quelle classe. L'un est la classe JAVA et l'autre est son modèle. Les deux noms sont identiques. Tapestry appelle automatiquement les classes associées.

Pradip Bhatt
la source
7

Vous pouvez voir l'aperçu et le classement par vous-même ici . Hibernate est un ORM, vous pouvez donc utiliser struts + Hiberante ou spring + hibernate pour créer une application web. Différents frameworks web et beaucoup sont des alternatives les uns aux autres.

Srikar Doddi
la source
4

Spring est un cadre d'application qui traite de l'IOC (Inversion of Control).

Struts 2 est un framework MVC d'application web qui traite des actions.

Hibernate est un ORM (Object-Relational Mapping) qui traite des données persistantes.

Nishat Lakhani
la source
3

En bref,

Struts est destiné au développement frontal d'un site Web

Hibernate est pour le développement back-end du site Web

Spring est pour le développement de la pile complète du site Web dans lequel Spring MVC (Model-View-Controller) est pour Front-end. ORM, JDBC pour l'accès / l'intégration des données (backend). etc

Tushar Jumani
la source
2

En hibernation, vous n'avez pas besoin de vous soucier de la façon de créer une table dans SQL et vous n'avez pas besoin de vous souvenir de la connexion, une instruction préparée comme celle-ci persiste dans une base de données. Donc, fondamentalement, cela facilite la vie d'un développeur.

dipak
la source
2

Spring est un framework léger et open source créé par Rod Johnson en 2003. Spring est un framework complet et modulaire, le framework Spring peut être utilisé pour toutes les implémentations de couche pour une application en temps réel ou le printemps peut être utilisé pour le développement d'une couche particulière d'une application en temps réel.

Struts est un cadre d'application Web open source pour le développement d'applications Web Java EE. Il utilise et étend l'API Java Servlet pour encourager les développeurs à adopter une architecture MVC (Model – View – Controller). Il a été créé à l'origine par Craig McClanahan et donné à la Fondation Apache en mai 2000.

Vous trouverez ci-dessous le tableau de comparaison des différences entre Spring et Strut Framework

entrez la description de l'image ici

VyTcdc
la source
0

Les pages et composants de tapisserie sont de simples POJO (Plain Old Java Object) composés de getters et setters pour un accès facile aux fonctionnalités du langage Java.

Nishat Lakhani
la source
0

Les différences entre Spring , Struts et Hibernate sont les suivantes:

  1. Spring est un cadre d'application, mais Struts et hibernate ne le sont pas.
  2. Spring et Hibernate sont légers, mais Struts 2 ne l'est pas.
  3. Spring and Hibernate a une architecture en couches, mais Struts 2 ne l'est pas.
  4. Le ressort et l'hibernation prennent en charge le couplage lâche, contrairement à Struts 2.
  5. Struts 2 et Hibernate ont une bibliothèque de balises mais pas Spring.
  6. Spring et Hibernate s'intègrent facilement aux technologies ORM, contrairement à Struts.
  7. Struts 2 s'intègre facilement aux technologies côté client, mais pas Spring et Hibernate.
Raman Gupta
la source