web-dev-qa-db-fra.com

Que devrais-je apprendre en premier, Spring ou Hibernate?

Je viens juste de commencer à apprendre Struts et j'essaie d'être commercialisable pour un bon travail en tant que programmeur Java. Ma prochaine décision serait de choisir lequel apprendre ensuite, Spring ou Hibernate?

Aussi avez-vous les gars des suggestions ou des conseils pour moi d'être bon? Merci d'avance!

34
ajushi

Je suggérerais d'apprendre le printemps. Apprenez seulement les bases et ensuite, lorsque vous do venez apprendre Hibernate, vous pourrez tirer parti de tous les utilitaires de Spring qui facilitent son utilisation.

Il y a aussi le point que Spring est utile dans de nombreuses couches au lieu de simplement dans la partie d'accès aux données :)

50
Jon Skeet

Spring et Hibernate sont deux technologies très complémentaires et, en fonction des besoins, vous pouvez utiliser les deux technologies, qu’elles soient ou non. Mais les principes fondamentaux sur lesquels reposent ces cadres sont 100% négociables et, surtout, sont nécessaires pour tout professionnel chevronné.

Apprendre à utiliser Hibernate n'a pas grande valeur sans d'abord acquérir des connaissances fondamentales sur la modélisation de données relationnelles, la conception de bases de données relationnelles et le traitement des transactions. Celles-ci devraient donc être vos conditions préalables pour Hibernate. 

Il n’est pas utile d’apprendre à Spring sans avoir d’abord acquis les connaissances de base sur les modèles de conception, l’injection de dépendances et la conception d’applications (aussi général que cela puisse paraître, vous devez comprendre des éléments tels que les niveaux d’application, les dépendances de classes et de packages, MVC celui-ci via Struts), les standards de sécurité et Web, et bien sûr les principes fondamentaux de OOD).

En apprenant les deux, vous deviendrez un professionnel, sinon commercial, mais au moins très solide, capable de travailler avec la majorité des applications Java (et pas seulement Java).

20
topchef

Je pense qu'Hibernate est assez facile et direct à acquérir des compétences de base en utilisation, et peut-être plus important encore, l'EJB3 est en train de devenir un standard.

Spring est une technologie externe, ne faisant pas officiellement partie de J2EE. Il serait donc logique de le faire en second lieu. Il comporte également beaucoup plus de facettes et vous voulez vraiment un bon livre. 

5
Uri

Le printemps est beaucoup plus grand et plus généralement applicable que Hibernate. Votre décision est un compromis entre la longueur de la courbe d'apprentissage et l'utilité que vous aurez lorsque vous aurez terminé.

Je recommanderais Spring, car il peut coexister avec Struts et Hibernate OR en fournissant des alternatives pour l'un ou l'autre (Spring Web MVC et Spring JDBC).

Spring aura un effet bénéfique sur vos conceptions Java EE. Commence avec ça.

2
duffymo

J'irais avec le printemps d'abord. Spring a tellement d'éléments différents qui sont utiles: injection de dépendance, programmation orientée aspect, classes d'assistance JDBC, tout un framework MVC et autres charges. Vous pouvez utiliser autant ou autant de printemps que vous le souhaitez lors de votre première application et la documentation de référence est vraiment excellente. Vous pouvez facilement apprendre le printemps sans même acheter un seul livre.

1
cliff.meyers

Je n'irais pas pour Struts ces jours-ci .. Si vous envisagez déjà le printemps, vous devriez également jeter un coup d'œil à Spring MVC, en particulier les nouveaux contrôleurs basés sur des annotations sont vraiment sympas. 

Je suggérerais d'apprendre Spring avant Hibernate car il est beaucoup plus facile d'apprendre si vous vous en tenez au cœur et peut-être à WebMVC, ce que je recommanderais. Le printemps a progressé un peu dans les dernières versions, mais le noyau reste simple et facile à comprendre. 

Hibernate est beaucoup plus compliqué. Je recommanderais de comprendre le but général d'un ORM comme Hibernate, d'apprendre le moyen de configurer hibernate avec hibernate annotations, puis de passer directement à l'intégration Spring/Hibernate car elle facilite beaucoup de choses. Si votre domaine compte plus que quelques types de base, vous pouvez également consulter le modèle Modèle GenericDAO

1
fforw

la même chose ici, j’ai tout d’abord appris à hiberner et puis au printemps, c’est le bon ordre. puis allez voir comment configurer le ressort avec Hibernate.

0
karim karimm

J'ai d'abord appris Hibernate. Utilisé groovy pour essayer différents exemples Hibernate. Puis appris Spring et son support Hibernate. Je pense que j'ai eu un voyage vraiment intéressant.

Voici un exemple d'application Struts + Spring + Hibernate. Jambes de force pour le front-end, Spring pour la couche intermédiaire et JPA/Hibernate pour la couche de persistance.

http://struts.Apache.org/2.0.11/docs/struts-2-spring-2-jpa-ajax.html

0
Manoj

Je pense que vous devriez partager votre profil dans un brief pour obtenir une meilleure réponse

Cependant ... L'hibernation et le printemps sont très chauds et vous les trouverez dans toutes les exigences de poste affichées pour les applications d'entreprise. Vous êtes donc sur la bonne voie en ce qui concerne vos choix de sélection.

IMHO- hibernate est plus compliqué que Spring La raison en est que, en raison de son architecture, Spring est moins invasif pour le code Il y a peu d'API à maîtriser. Donc coder au printemps, vous n'avez pas vraiment besoin de coder au-delà de Java Mais pour coder en veille prolongée - vous devez connaître les API Hibernate et les pièges de la programmation en veille prolongée. Les bases de l'hibernation sont faciles à maîtriser, mais pour apprendre les astuces et les anecdotes, cela prend du temps

Si j'étais le responsable du recrutement et que j'utilisais hibernate et Spring , Je préférerais prendre quelqu'un qui était plus fort sur Hibernate plutôt que quelqu'un qui était plus fort le printemps En ce qui concerne le printemps, vous êtes un programmeur contributif - aura très peu à s'inquiéter de Très probablement, l'application disposera déjà d'un cadre de travail en place et vous devrez y brancher vos contributions.

Mais pour coder en hibernation, comme je l’ai dit auparavant, il est préférable que vous ayez une certaine expérience de ce type.

PS: Je sais que tout le monde a un point de vue différent à ce sujet - alors vous devenez peut-être plus confus. Je pense qu'une fois que vous aurez partagé un peu de votre profil, cela aidera les gens à vous donner de meilleurs conseils. Bonne chance !!!

0
RN.

si vous avez besoin des deux technologies Spring Live tout ce dont vous avez besoin.

0
zaletniy

Si l'objectif est d'apprendre le framework MVC et comment utiliser ORM avec ce framework, le moyen logique d'apprendre est Spring puis Hibernate. De mon point de vue, vous pourrez ainsi saisir facilement les concepts

0
Paras

J'envisagerais de les apprendre tous les deux en même temps. Spring et NHibernate sont tous deux de grands cadres avec une courbe d’apprentissage élevée. Il vous faudra un peu d’études et d’expérimentation pour vous familiariser et vous y perfectionner Lorsque vous êtes occupé avec les deux cadres, vous vous concentrez automatiquement sur les parties les plus utiles. Apprendre d'abord les parties importantes rendra la courbe d'apprentissage plus abrupte. 

0
Paco

J'ai d'abord appris Hibernate par moi-même, puis j'ai appris comment Spring facilite les choses.

0
Gary Kephart

Je pense que vous apprenez le printemps, les bases du SGBDR, puis optez pour Hibernate, qui sera facile à apprendre pour vous 

0
Pradeep Simha