A journey of a thousand miles begins with a single step.

Qu’est-ce que Spring boot ?

Depuis un certain temps, spring boot est devenu l’un des frameworks Java EE les plus populaires au mode. Parti du fait que les developpeurs spring voulait se simplifier la vie avec le concept de la convention sur la configuration, ils ont réussi à rassembler une version ultra-rapide du spring framework qu’ils ont baptisé spring boot. Dans ce tutoriel, nous allons voir comment initialiser un projet spring boot au travers la plateforme en ligne spring boot initializr.

Comment générer un projet avec Spring boot initializr ?

Il est très simple d’initialiser un projet spring boot de nos jours. Pour commencer il suffit de se rendre sur la page starter de spring boot officiel qui est start.spring.io . Vous allez parvenir à une page qui ressemble à la celle qui suit.

Accueil spring boot initializr

Une fois sur la page d’acceuil, vous pouvez maintenant configurer votre projet spring boot. A la base vous avez les sections suivantes sur la page:

  • Project
  • Language
  • Dependencies
  • Spring boot
  • Project metadata

Project

La section project vous permet de sélectionner le gestionnaire de build ou l’outil qui va prendre votre code source, le compiler et générer un exécutable pour vous. Avec spring boot initializr vous avez la possibilité de choisir entre deux (2) gestionnaires de build:

  • Apache maven (Le plus populaire au web)
  • Graddle (Le plus populaire en matière d’applications mobiles)

Ici, nous allons choisir maven.

Language

Spring boot initializr est tellement flexible qu’il s’intègre à certains langages dérivés de Java. Ainsi, vous pouvez coder en spring boot avec les langages suivants:

  • Java (très populaire)
  • Kotlin (nouveau mais puissant)
  • Groovy

Dans notre exemple, nous allons choisir Java.

Dependencies

La partie dependencies est la partie où l’on ajoute les dépendences (paquetages) que vous voulons utiliser pour un début dans notre projet. Au clic sur le bouton Add dependencies, vous aurez un écran similaire à l’écran suivant:

Interface spring boot initializr pour ajouter les dépendences

Là maintenant, vous pouvez configurer les éléments que vous voulez utiliser. Les élement apparaissent sous forme de catégorie (ex: developer tools, web, etc.) et les catégories contienent des pacquetages (ex: dans la catégorie web on a le package Spring Web). Pour ajouter la MySQL au projet par exemple, il suffit de sélectionner MySQL dans la liste des pacquetages.

Spring boot

Cette partie permet de choisir la version du framework spring boot que à utiliser dans le projet. Pour la pluspart des usages, la version cochée par défaut suffira. Il est à noter que les versions SNAPSHOT et RC* ne sont pas des version à long support.

Project metadata

La section project metadata est la partie ou l’on configure les coordonnées du projet. Il s’agit de spécifier le group id, l’artefact id et le package name principalement. Ce sont les trois premières informations. Les deux autres informations sont la description du projet et le nom du pacquetage de base.

Dans le cadre d’un projet de chat voici un exemple de ce qu’on aurait mis comme configuaration metadata:

Elément Valeur
Groupcom.ultron.systems
Artifactchat
Namechat
DescriptionApplication de chat Systems
Package namecom.ultron.systems.chat
Exemple de spécification de metadata de projet

Génération du zip

Une fois que vous avez complété ces informations, vous devez aussi choisir le format de l’exécutable que le projet devra générer. Ici vous avez le choix entre le un fichier Jar et un fichier War vu que vous avez choisi Java comme langage du projet.

Ensuite, il ne vous reste qu’à choisir votre version de Java (8 ou 11 ou 16) et cliquer le bouton “Generate” ou composer le “CTRL + ENTREE” pour générer votre fichier zip. Vous devez ensuite extraire le fichier et l’importer dans votre éditeur.

Bon codage !

Au final

Merci d’avoir suivi ce tutoriel jusqu’à la fin. Voici comment générer à la base un projet spring boot par initializr et commencer par programmer en spring boot.

Si vous avez des questions, laissez-les moi en commentaire ou lisez un autre article!