
Lancement de l'application (via IDE, Maven/Gradle)
Découvrez les différentes méthodes pour lancer votre application Spring Boot pendant le développement, que ce soit depuis votre IDE favori (IntelliJ, Eclipse, VS Code) ou via les commandes Maven ou Gradle.
Le démarrage simplifié : le coeur de Spring Boot
Une fois votre première application Spring Boot structurée et votre premier contrôleur créé, l'étape suivante naturelle est de la lancer pour voir le résultat. L'un des grands avantages de Spring Boot est la simplicité avec laquelle une application peut être démarrée, notamment grâce à l'intégration d'un serveur web embarqué (Tomcat par défaut). Plus besoin de déployer manuellement un fichier WAR sur un serveur externe pendant la phase de développement !
Il existe plusieurs façons courantes de lancer votre application en développement, chacune ayant ses avantages selon votre environnement et vos préférences. Les deux approches principales consistent à utiliser les fonctionnalités intégrées de votre Environnement de Développement Intégré (IDE) ou à passer par les commandes fournies par votre outil de build (Maven ou Gradle).
Lancement depuis votre Environnement de Développement Intégré (IDE)
C'est souvent la méthode la plus pratique et la plus rapide pendant le codage quotidien. La plupart des IDE modernes reconnaissent automatiquement les applications Spring Boot et offrent des raccourcis pour les lancer.
Le principe général est d'identifier la classe principale de votre application, celle qui est annotée avec @SpringBootApplication et qui contient la méthode public static void main(String[] args). Ensuite, vous demandez à l'IDE d'exécuter cette méthode main comme une application Java standard.
- IntelliJ IDEA : Ouvrez votre classe principale (par exemple,
MonAppliApplication.java). Vous verrez généralement une icône de lecture verte (un triangle) dans la marge à gauche, à côté de la déclaration de la classe et de la méthodemain. Cliquez sur cette icône et choisissez "Run 'MonAppliApplication.main()'". IntelliJ créera automatiquement une configuration d'exécution que vous pourrez réutiliser et personnaliser (pour ajouter des arguments VM, des variables d'environnement, etc.) via le menu `Run` > `Edit Configurations...`. - Eclipse (avec Spring Tools Suite - STS) : STS facilite grandement les choses. Faites un clic droit sur votre projet dans l'explorateur de packages, puis allez dans `Run As` > `Spring Boot App`. Eclipse détectera la classe principale et lancera l'application. Alternativement, vous pouvez faire un clic droit directement sur la classe principale et choisir `Run As` > `Java Application`.
- Visual Studio Code (avec les extensions Java et Spring Boot Tools) : Plusieurs options s'offrent à vous. Vous pouvez ouvrir la classe principale et cliquer sur le lien `Run` qui apparaît au-dessus de la méthode `main`. Vous pouvez également utiliser la vue "Spring Boot Dashboard" dans la barre latérale, qui liste vos projets Spring Boot et permet de les démarrer/arrêter d'un clic. Enfin, l'exécution via la palette de commandes (`Ctrl+Shift+P`) est aussi possible.
Lancer depuis l'IDE est idéal pour le développement et le débogage. Vous bénéficiez de la console intégrée pour voir les logs, de points d'arrêt faciles à poser, et souvent de fonctionnalités de redémarrage rapide (hot swap ou via des outils comme Spring Boot DevTools).
Lancement avec Maven via le plugin Spring Boot
Si vous préférez utiliser la ligne de commande ou si vous travaillez dans un environnement sans IDE graphique, Maven (via le plugin Spring Boot) offre un moyen simple de lancer l'application. Cette méthode garantit également que l'application est lancée de la même manière quel que soit l'IDE utilisé par les membres de l'équipe.
Le plugin spring-boot-maven-plugin, déclaré dans votre fichier pom.xml (généralement inclus par défaut par Spring Initializr), fournit un objectif (goal) spécifique pour cela : spring-boot:run. Pour l'utiliser, ouvrez un terminal ou une invite de commande à la racine de votre projet (là où se trouve le fichier pom.xml) et exécutez la commande suivante :
# Si vous utilisez le Maven Wrapper (recommandé)
./mvnw spring-boot:run
# Si vous avez Maven installé globalement
mvn spring-boot:runQue fait cette commande ? Elle compile d'abord votre code Java, puis lance l'application en utilisant le serveur embarqué. Les logs de l'application s'afficheront directement dans votre terminal. Pour arrêter l'application, utilisez la combinaison de touches `Ctrl+C`.
Cette méthode est pratique pour des tests rapides en ligne de commande ou pour s'assurer que l'application démarre correctement en dehors de l'IDE. Elle utilise la configuration définie dans votre pom.xml et vos fichiers application.properties ou application.yml.
Lancement avec Gradle via le plugin Spring Boot
De manière analogue à Maven, si votre projet utilise Gradle comme outil de build, le plugin Spring Boot pour Gradle fournit une tâche dédiée au lancement de l'application en développement.
Le plugin org.springframework.boot, appliqué dans votre fichier build.gradle ou build.gradle.kts, ajoute la tâche bootRun. Pour l'exécuter, ouvrez un terminal à la racine de votre projet (là où se trouve le fichier build.gradle) et tapez :
# Si vous utilisez le Gradle Wrapper (recommandé)
./gradlew bootRun
# Si vous avez Gradle installé globalement
gradle bootRunTout comme son équivalent Maven, cette commande va compiler votre code puis démarrer l'application Spring Boot avec son serveur embarqué. Les logs apparaîtront dans le terminal, et vous pourrez l'arrêter avec `Ctrl+C`.
Le choix entre mvn spring-boot:run et gradle bootRun dépend simplement de l'outil de build que vous avez choisi pour votre projet lors de sa création avec Spring Initializr. Les deux remplissent la même fonction : fournir un moyen standardisé et simple de lancer votre application depuis la ligne de commande.
En résumé, que vous préfériez le confort de votre IDE ou la rigueur de la ligne de commande, Spring Boot vous offre des options simples et efficaces pour lancer votre application pendant la phase de développement, vous permettant de vous concentrer sur l'écriture du code plutôt que sur la configuration du déploiement.