Partage
  • Partager sur Facebook
  • Partager sur Twitter

Perdue dans l'univers Java

Sujet résolu
    25 novembre 2022 à 11:23:01

    Bonjour à tous,

    Il y a plusieurs mois j'ai commencé une formation en développement web spécialisation Java et la formation est vraiment très mauvaise.

    Quelques cours et tentatives de réalisation de projets plus tard, je me retrouve complètement perdue parmi tout ce qui concerne Java. 
    J'ai beaucoup de mal à expliquer et à différencier tout ce qui concerne Maven, Spring, JDBC, JPA, Hibernate...

    Au final je me retrouve devant des fichiers de code que je ne comprends pas, je ne comprends pas quelle structure donner à mes fichiers afin que se soit clair et cohérent. Quel découpage effectuer (models, controllers, services etc...).

    Je précise que j'ai déjà une formation Javascript fullstack et que pour le coup, le backend NodeJS je "maîtrise" et c'est ce qui me frustre le plus, ou ce qui doit me bloquer, je n'arrive pas à transposer ce que je connais en Node, en Java.

    Est-ce que quelqu'un aurait l'immense amabilité/le temps de me sauver de cette noyade ? >.>

    En vous remerciant

    -
    Edité par ColeeneP 25 novembre 2022 à 11:27:09

    • Partager sur Facebook
    • Partager sur Twitter
      25 novembre 2022 à 13:26:18

      Pour transposer de java a node:

      maven c'est yarn ou npm, un outil pour gerer tout le cycle de vie de construction d'un artefact

      Spring c'est le backend node, ca expose les apis via les controllers, gere le cycle de vie des objets(services), c'est un framework au meme titre qu'angular: il impose une maniere d'agencer et utiliser le code.

      jdbc, jpa/hibernate c'est la persistence des donnees en DB

      Pour la decoupe, bien souvent tu trouveras du 3tiers: controllers pour les API, service pour la logique metier, model pour les donnees, c'est ok pour des petites app ou du CRUD

      autre possibilite, souvent plus elegante pour eviter les god object et modele anemique, l'hexagonal qui centre l'application sur la logique metier et les donnees(modele) et autour avoir une couche d'infrastructure pour les interactions(File system, api/network, DB, broker,...)

      • Partager sur Facebook
      • Partager sur Twitter
        25 novembre 2022 à 18:53:43

        P.X.L a écrit:

        Pour transposer de java a node:

        maven c'est yarn ou npm, un outil pour gerer tout le cycle de vie de construction d'un artefact

        Spring c'est le backend node, ca expose les apis via les controllers, gere le cycle de vie des objets(services), c'est un framework au meme titre qu'angular: il impose une maniere d'agencer et utiliser le code.

        jdbc, jpa/hibernate c'est la persistence des donnees en DB

        Pour la decoupe, bien souvent tu trouveras du 3tiers: controllers pour les API, service pour la logique metier, model pour les donnees, c'est ok pour des petites app ou du CRUD

        autre possibilite, souvent plus elegante pour eviter les god object et modele anemique, l'hexagonal qui centre l'application sur la logique metier et les donnees(modele) et autour avoir une couche d'infrastructure pour les interactions(File system, api/network, DB, broker,...)


        Merci c'est déjà plus clair ! Mais du coup pour la persistence il faut utiliser JDBC, JPA/Hibernate ou tout ensemble ?
        • Partager sur Facebook
        • Partager sur Twitter
          26 novembre 2022 à 12:26:43

          pour faire simple, JDBC c'est assez bas niveau, il faut ecrire les requetes a la main, les resultats sont des types simples equivalent de la DB.

          Hibernate est un ORM, et JPA est le standard sur lequel repose Hibernate.

          Il y a aussi des solutions intermediaires comme JOOQ qui fournissent des facilites au dessus de JDBC.

          • Partager sur Facebook
          • Partager sur Twitter

          Perdue dans l'univers Java

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown