Comment commencer à apprendre J2EE, en particulier JPA [fermé]

11

J'essaie de commencer à apprendre le J2EErôle de Java. Mais je ne sais pas par où commencer. Je suis familier avec Core Javaet surtout, je veux apprendre JPAet les bases de Hibernateet Spring Framework. La raison principale en est que je travaille sur un projet qui utilise toutes ces choses. Et la plupart du code est développé par des gars seniors et je dois y apporter quelques modifications. Donc, fondamentalement, je dois comprendre leur code.

Quelqu'un peut-il me donner une sorte de feuille de route, comme quelles choses je dois savoir à l'avance et dans quel ordre dois-je aller? Tout matériel de référence, comme des liens, des livres?

Bhushan
la source
1
Ces aînés ont-ils le temps de vous présenter ce qu'ils ont fait jusqu'à présent?
@ Thorbjørn Ravn Andersen: Si je pose des questions, il me l'explique. Mais le fait est que le code est modérément gros (~ 10000 lignes). Donc, si je dois faire quelque chose, je dois parcourir de nombreux fichiers source et de nombreuses lignes de code, ce qui, je suppose, ne peut pas leur demander de m'expliquer complètement. Fondamentalement, je ne connais pas JPA et Spring Framework, et en général J2EE. Je cherchais donc des trucs qui m'aideront à comprendre comment tout cela fonctionne et les bases, pour que je ne pose au moins pas de doutes stupides.
Bhushan

Réponses:

7

Chaque fois que je veux apprendre un nouveau framework / langage, je prépare généralement un petit projet qui l'utilise. Pour un framework web, j'ai une webapp commune que j'écris en l'utilisant. C'est simple et ne fait pas grand-chose, mais il a suffisamment de fonctionnalités dont j'ai besoin pour tirer parti des parties les plus courantes du cadre (base de données, travaux d'arrière-plan, mvc ou quelque chose de similaire). En fait, il n'y a pas longtemps, j'ai commencé à apprendre Spring / MVC + Hibernate. Je ne sais pas tout, certes, mais cela m'a donné suffisamment d'informations pour que, lorsque je ne sais pas quelque chose, je sais quelles questions poser et comment leur demander pour obtenir plus d'informations.

Pour les frameworks web, je commence généralement par le simple exemple "hello world" fourni pour la plupart des frameworks. S'il a un exemple de "livre d'or" (c'est-à-dire pour montrer l'utilisation de la base de données), je fais un suivi avec ça. À partir de là, je commence simplement à ajouter la fonctionnalité que je veux dans mon application d'apprentissage, en commençant par la plus simple. L'idée étant que je puisse comprendre comment poser les bonnes questions pour les choses simples. Après avoir fait des choses simples, je peux alors regarder les choses plus complexes et, avec les informations que j'ai déjà apprises, j'espère pouvoir formuler les bonnes questions à leur poser.

J'ai récemment commencé à mettre le code de ces projets d'apprentissage sur sourceforge , si cela vous intéresse.

Edit: Le commentaire de Donal a fait que nous voulons ajouter ... Je n'ai pas mis le lien comme exemple pour que vous appreniez. Plutôt, juste comme un exemple de moi mettant mon code là-bas. Si vous voulez vraiment apprendre, vous devez écrire le code vous-même, pas seulement lire celui de quelqu'un d'autre (à mon avis, au moins)

RHSeeger
la source
+1: Je fais à peu près la même chose sauf que je ne partage pratiquement jamais les résultats au motif que j'ai besoin d'apprendre en faisant et pas seulement en copiant , et je suppose que les autres sont les mêmes. (OTOH, de temps en temps une de mes expériences s'échappe dans la nature et évolue vers un vrai produit.)
Donal Fellows
Honnêtement, j'ai commencé à partager pour trois raisons: 1) Pour que mon code vive quelque part en dehors du dépôt svn local que j'ai, 2) Pour que, lorsque les gens demandent des exemples de mon code dans une technologie spécifique, je puisse les lier à celui-ci (auparavant, je n'avais pas un tel code à leur montrer), 3) Lorsque les gens me posent des questions sur la façon de faire quelque chose et que je l'ai fait, je peux leur montrer plus facilement
RHSeeger
+1. C'est une très bonne idée. Mais cela ne répond pas pleinement à ma question. Même pour cela, je dois commencer quelque part, mais je ne sais pas où. Analyser n'importe quel sujet au hasard ne m'aide pas.
Bhushan
1
Ajout d'une description rapide de la façon dont je m'apprête à apprendre sur les frameworks Web en particulier; le chemin que je prends. Malheureusement, c'est le mieux que je puisse donner pour l'instant. Si tout va bien, si cela ne suffit pas, quelqu'un d'autre pourra vous fournir une réponse mieux adaptée à votre situation.
RHSeeger
2

J'étais dans une situation très similaire il n'y a pas longtemps. Voici à peu près ce que rétrospectivement, j'ai trouvé l'approche la plus utile pour apprendre rapidement les bases d'une nouvelle technologie:

Approche générale:

  1. Découvrez quel problème il résout. Lisez diverses ressources comme la page d'accueil du projet, l'article wikipedia.
  2. Trouvez un petit projet qui contient ledit problème . Par exemple dans votre cas, une petite webapp gérant votre collection de DVD avec la possibilité de les prêter à des amis.
  3. Commencez à réfléchir aux mécanismes que vous attendez de la technologie . Par exemple, pour une solution ORM, un mécanisme pour spécifier si une relation est 1:nou n:n.
  4. Recherchez ces mécanismes dans votre technologie : par exemple dans JPA, trouvez l' @OneToManyannotation. Souvent, c'est là que vous travaillez vous-même à travers un guide de démarrage ou le code du développeur senior.
  5. Mettez en œuvre votre mini-projet en utilisant ces mécanismes . Ce faisant, vous découvrirez les limitations et probablement quelques autres fonctionnalités. Par exemple, dans JPA, le N + 1 sélectionne un problème ou une fonctionnalité vous permettant de supprimer et de (re) créer automatiquement des tables pour vos classes Java.
  6. (Si vous en avez le temps): Essayez de comprendre comment vous mettriez en œuvre les mécanismes . Cela peut vous aider à comprendre pourquoi certaines limitations existent et comment vous pouvez les contourner.

Une note sur Mise en route Guides: Ne les lisez pas avant l' étape 4. Si vous faites encore, cela va vous mordre si vous apprenez des cadres très puissants comme Spring avec toutes ses caractéristiques de fantaisie. Comme toujours dans la vie, plus votre outil est puissant, plus vous pouvez visser facilement si vous ne le comprenez pas vraiment.

blubb
la source
-1

Je recommande Head First Servlets et JSP . C'est une excellente ressource pour en savoir plus sur Enterprise Java.

Ce livre a été écrit pour les développeurs souhaitant réussir l'examen Sun Certified Web Component Developer (SCWCD). Sun a depuis été acquis par Oracle et cet examen a été remplacé. Plus d'informations peuvent être trouvées ici .

Britt Wescott
la source
Les JSP ne sont-ils pas encore obsolètes? Ils sont assez inutiles pour les applications "Web 2.0" qui font un usage intensif d'AJAX.
kevin cline
-1

La documentation en ligne d'Hibernate est assez bonne. Vous pouvez commencer par là.

Kevin Cline
la source