web-dev-qa-db-fra.com

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

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

  1. Printemps
  2. Struts
  3. Struts 2
  4. Hibernate
  5. JavaServer Faces
  6. Pages JavaServer
  7. Tapisserie

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

Merci.

191
CMW
  1. Spring est un conteneur IoC} _ (au moins le coeur de Spring) et est utilisé pour câbler des objets à l'aide d'une injection de dépendance. Spring fournit des services supplémentaires tels que la gestion des transactions et l'intégration transparente de diverses autres technologies.
  2. Struts est un framework de présentation basé sur l'action (mais ne l'utilisez pas pour un nouveau développement).
  3. Struts 2 est un framework de présentation basé sur les actions, la version 2 de ce qui précède (créée à partir d'une fusion de WebWork avec Struts).
  4. Hibernate est un outil de mappage objet-relationnel, un cadre de persistance.
  5. JavaServer Faces est basé sur des composants framework de présentation.
  6. JavaServer Pages est une technologie d'affichage 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 cadres de présentation. Si vous en utilisez un, vous n'en utilisez pas un autre.
  • Hibernate est un cadre de persistance et est utilisé pour conserver les objets Java dans une base de données relationnelle.
  • Spring peut être utilisé pour relier tout cela et fournir une gestion déclarative des transactions.

Je ne veux pas compliquer davantage les choses, mais notons que Java EE 6 fournit un équivalent moderne, normalisé et très agréable des frameworks 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, il s’agit d’une option sérieuse, Java EE 6 est une pile géniale.

Voir également

260
Pascal Thivent

Généralement...

Hibernate est utilisé pour gérer les opérations de base de données. Il existe un ensemble complet de fonctionnalités utilitaires de base de données, ce qui réduit le nombre de lignes de code. En particulier, vous devez lire @Annotation of hibernate. C'est un cadre ORM et une couche de persistance.

Spring fournit un riche ensemble de mécanismes de travail basés 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. Spring fournit principalement ce type d’utilité.

Struts2 fournit une programmation basée sur l'action. Il existe un riche ensemble d'étiquettes Struts. Struts prouve que la programmation est basée sur l'action. Vous devez donc conserver tous les contrôles pertinents de votre vue.

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

18
Pradip Bhatt

Vous pouvez voir la vue d'ensemble 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.

7
Srikar Doddi

Spring est un framework d’application qui traite de 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 les données persistantes. 

4
Nishat Lakhani

En veille prolongée, vous n'avez pas besoin de vous soucier de la création d'une table en SQL ni de la connexion, des instructions préparées comme ces données sont conservées dans une base de données. Donc, fondamentalement, cela rend la vie du développeur facile. 

2
dipak

En bref,

Struts est pour le développement front-end du site web 

Hibernate est destiné au développement final du site Web

Spring est pour le développement complet du site Web dans lequel Spring MVC (Model-View-Controller) est destiné à Front-end . ORM, JDBC pour l’accès/l’intégration de données (backend). etc

1
Tushar Jumani

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 couches. pour une application en temps réel ou un ressort peut être utilisé pour le développement d'une couche particulière d'une application en temps réel.

Struts est un cadre d'applications Web à code source ouvert permettant de développer des applications Web Java EE. Il utilise et étend l'API Java Servlet pour encourager les développeurs à adopter une architecture modèle-vue-contrôleur (MVC). Il a été créé à l'origine par Craig McClanahan et a été offert à la Apache Foundation en mai 2000.

Vous trouverez ci-dessous le tableau comparatif des différences entre les structures Spring et Strut.

 enter image description here

1
VyTcdc

Tapisserie les pages et les composants sont simples POJO's (Objet ancien Java) constitué de getters et de setters pour un accès facile aux fonctionnalités du langage Java.

0
Nishat Lakhani

Différence entre Printemps , Jambes de force 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 pas Struts 2.
  4. Spring et Hibernate supportent un couplage lâche mais Struts 2 ne le fait pas.
  5. Struts 2 et Hibernate ont une bibliothèque de balises mais pas Spring.
  6. Spring et Hibernate ont une intégration facile avec les technologies ORM mais Struts ne le fait pas.
  7. Struts 2 s'intègre facilement aux technologies côté client mais Spring et Hibernate n'en ont pas.
0
Raman Gupta