Initialisation d'une application web Spring Boot avec Maven

Présentation de Spring Boot

Spring Boot est un framework open source basé sur Java, conçu pour simplifier et accélérer le développement d'applications Spring. Son objectif principal est de minimiser la configuration manuelle en adoptant le principe de "convention over configuration". Grâce à l'intégration de serveurs web embarqués comme Tomcat, il permet de déployer et d'exécuter des applications autonomes sans nécessiter de conteneur de servlets externe.

Mise en place d'un projet fondamental

1. Prérequis environnementaux

Pour cet exemple, nous utiliserons les versions suivantes :

  • Spring Boot : 2.7.x (compatible avec Java 8 à 17)
  • Java Development Kit (JDK) : 11
  • Apache Maven : 3.8+

Note : Spring Boot 2.x nécessite au minimum Java 8 et supporte les versions ultérieures. Maven 3.3+ ou Gradle 6+ sont requis pour la gestion des dépendances.

2. Configuration du fichier POM

Initialisez un projet Mavan standard. Dans le fichier pom.xml, déclarez le projet parent de Spring Boot pour hériter de la gestion des dépendances par défaut :

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.5</version>
    <relativePath/>
</parent>

Ensuite, intégrez le starter web, qui regroupe toutes les bibliothèques nécessaires pour créer une API REST, y compris Tomcat et Jackson pour le JSON :

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

Les "starters" sont des ensembles de dépendances préconfigurés. D'autres exemples incluent spring-boot-starter-data-jpa pour les bases de données ou spring-boot-starter-security pour l'authentification.

3. Implémentation du code source

Créez la classe principale qui servira de point d'entrée à l'application. L'annotation @SpringBootApplication active l'auto-configuration et le scan des composants.

package com.exemple.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApplicationBootstrap {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationBootstrap.class, args);
    }
}

Développez ensuite un contrôleur REST pour exposer un point de terminaison. L'annotation @RestController combine @Controller et @ResponseBody, indiquant que les méthodes retournent directement des données sérialisées.

package com.exemple.demo.api;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingEndpoint {
    
    @GetMapping("/welcome")
    public String displayWelcomeMessage() {
        return "Bienvenue dans Spring Boot !";
    }
}

Important : Le scan des composants de Spring Boot explore le package de la classe principale et tous ses sous-packages. Assurez-vous que vos contrôleurs sont placés dans une arborescence cohérente.

4. Configuration et exécution

Par défaut, l'application démarre sur le port 8080. Pour personnaliser ce comportement, créez un fichier application.properties (ou application.yml) dans le répertoire src/main/resources :

server.port=9090
spring.application.name=demo-greeting-app

Lancez la classe ApplicationBootstrap. Les logs de la console confirmeront l'initialisation de Tomcat sur le port 9090.

5. Empaquetage et déploiement

Pour générer un fichier JAR exécutable, ajoutez le plugin Maven dédié à Spring Boot dans la section <build> de votre pom.xml :

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Exécutez la commande suivante dans votre terminal :

mvn clean package

Cette commande compile le code, exécute les tests et génère un fichier JAR autonome dans le dossier target. Vous pouvez ensuite démarrer l'application en production avec :

java -jar target/demo-greeting-app-1.0.0.jar

Alternative : Spring Initializr

Pour éviter la configuration manuelle du fichier POM et de la structure des dossiers, l'outil officiel Spring Initializr (disponible sur start.spring.io) permet de générer une archive de projet complète en sélectionnant simplement les dépendances souhaitées via une interface web.

Étiquettes: Spring Boot Java Maven REST API Tomcat

Publié le 7 septembre à 20h40