Developpez.com - Rubrique Spring

Le Club des Développeurs et IT Pro

Quels modules de Spring utilisez-vous en 2016 ?

Venez partager votre expérience

Le 2016-06-16 11:13:06, par Robin56, Modérateur
Spring se base et est connu avant tout pour l'IoC (l'inversion de contrôle). Ce mécanisme permettant de découpler les dépendances entre composants est la base de nombreux conteneurs modernes. C'est l'un des piliers de Spring Framework.

Mais depuis 2004, Spring a largement évolué et de nombreux projets ont évolué dans l'écosystème comme on peut le voir sur leur site officiel ( http://spring.io/projects ).
On peut y voir ainsi les éléments suivants :
  • Spring Framework : module de base fournissant l'injection de dépendance, la gestion des transactions, Spring MVC, etc. ;
  • Spring Boot : module pour simplifier le démarrage et le développement de nouvelles applications Spring ;
  • Spring Data : module permettant de fournir une approche commune d'interaction avec un système de données (relationnel, non relationnel, etc.) ;
  • Spring Batch : module de gestion des opérations batch (intéressant dans le cadre de la planification de tâches par exemple) ;
  • Spring Security : module de gestion de sécurité (mécanisme d'authentification, etc.) ;
  • Spring ROO : générateur de code et de configuration.

Et nous aurions pu continuer tant la liste des modules s’agrandit au fil des années.

Nous aimerions ainsi connaître votre utilisation de Spring. Quels modules utilisez-vous et pourquoi ? Profitez-en pour donner les raisons de votre choix :
  • les avantages ;
  • les inconvénients ;
  • la prise en main.


Nous avons listé les modules principaux au sein du sondage. Si vous utilisez d'autres modules, n'hésitez pas à le préciser par commentaire.
  Discussion forum
4 commentaires
  • Lacunasaurus
    Membre régulier
    Il aurait été intéressant de découper plus finement les modules

    J'affectionne pas mal Spring JPA que je trouve super et Spring JDBC.
    Par contre beaucoup moins spring DAO (hibernate)

    Ça aurait été intéressant de voir les tendances
  • Robin56
    Modérateur
    Envoyé par L4goon
    Il aurait été intéressant de découper plus finement les modules
    Merci pour ta remarque (et je suppose ton vote) L4goon, nous avons préféré proposer un sondage sous cette forme car :
    • Celui-ci se basait sur le découpage effectué par Spring lui-même sur son site officiel,
    • Nous voulions Avoir une vision macroscopique des fonctionnalités majeures utilisées sous Spring.

    Néanmoins, nous gardons en tête ta remarque pour peut être de futurs sondages ou débats au sein de la rubrique.
  • Gugelhupf
    Modérateur
    Je trouve un peu étrange le fait de mettre "Spring Framework" dans le sondage, comment s'en passer si on fait du Spring ?
    Spring Boot bien sûr pour éviter la configuration avec des fichiers XML (ce serait un crime de ne pas l'utiliser en 2016).
    Spring Data avec MongoDB
    Spring Security
  • Logan Mauzaize
    Rédacteur/Modérateur
    Spring Framework se compose d'énormément d'éléments. Ca aurait fait beaucoup d'options et certains éléments ne seraient rentrés dans aucune case précise.

    Bien que Spring Framework soit une dépendance de pratiquement tout le reste de l'écosystème Spring, il n'est pas obligatoire d'en dépendre explicitement, ni même de l'utiliser spécifiquement.

    Après c'est aussi un moyen indirect d'entamer une discussion sur l'utilisation des différents modules. Par exemple, tu parles de Spring Data MongoDB mais est-ce que tu utilises les templates, l'ORM et/ou les repositories ? Est-ce que tu utilises les query methods et/ou Querydsl ?

    Spring fournit une pléthore d'éléments et il y a encore plus de façons de les utiliser. Partager la façon dont chacun l'utilise ainsi que les avantages et inconvénients permet à chacun d'apprendre à mieux maîtriser ses outils. L'expérience de chacun permettant d'enrichir la sienne.