Maîtrisez Spring Boot avec ce guide complet. Développez des applications Java robustes, APIs REST et microservices rapidement.
spring
Spring Boot CLI - Interface en ligne de commande
--version--helprunjarwarinstalluninstalllisttestgrabshellencryptdecryptinit
spring --version
Affiche la version de Spring Boot CLI
spring init
Initialise un nouveau projet Spring Boot via Spring Initializr
-a--artifactId-b--boot-version-d--dependencies--description-f--force--format-g--groupId-j--java-version-k--kotlin-version-l--language-n--name-p--packaging--package-name-t--type-v--version-x--extract--build--list--target
spring init --dependencies=web,data-jpa,security myapp
Crée un projet avec dépendances web, JPA et sécurité
-a-g-j-l-n-p-t-v-x
spring init --dependencies=web,actuator --build=maven myapp
Crée un projet Maven avec web et actuator
-a-g-j-l-n-p-t-v-x
spring init --dependencies=web,devtools --build=gradle myapp
Crée un projet Gradle avec web et devtools
-a-g-j-l-n-p-t-v-x
spring init --list
Liste toutes les dépendances Spring Boot disponibles
spring init --extract myapp.zip
Extrait le projet généré dans le dossier courant
--target
spring init --java-version=17 myapp
Crée un projet avec Java 17
-a-g-d-l-n-p-t-v
spring init --packaging=war myapp
Crée un projet au format WAR
-a-g-d-l-n-p-t-v
spring run app.groovy
Exécute un script Groovy Spring Boot
--cp--watch--verbose
spring jar app.jar *.groovy
Crée un JAR exécutable depuis des scripts Groovy
--include--exclude
spring shell
Lance le shell interactif Spring Boot
spring encrypt monsecret
Chiffre une valeur avec Spring Crypto
--key
spring decrypt {cipher}...
Déchiffre une valeur chiffrée
--key
mvn spring-boot:run
Lance l'application Spring Boot avec Maven
-Dspring-boot.run.arguments-Dspring-boot.run.profiles-Dspring-boot.run.jvmArguments-Dspring-boot.run.fork-Dspring-boot.run.skip-Dspring-boot.run.workingDirectory
mvn spring-boot:start
Démarre l'application en arrière-plan (pour tests d'intégration)
-Dspring-boot.start.arguments-Dspring-boot.start.jvmArguments-Dspring-boot.start.skip
mvn spring-boot:stop
Arrête l'application démarrée avec spring-boot:start
-Dspring-boot.stop.fork-Dspring-boot.stop.skip
mvn spring-boot:test-run
Lance l'application pour les tests
-Dspring-boot.run.arguments-Dspring-boot.run.profiles
mvn spring-boot:build-image
Construit une image Docker OCI avec Cloud Native Buildpacks
-Dspring-boot.build-image.imageName-Dspring-boot.build-image.builder-Dspring-boot.build-image.runImage-Dspring-boot.build-image.publish-Dspring-boot.build-image.tags-Dspring-boot.build-image.env
mvn spring-boot:build-info
Génère le fichier build-info.properties
-Dspring-boot.build-info.outputFile-Dspring-boot.build-info.skip
mvn spring-boot:help
Affiche l'aide des goals Spring Boot Maven
-Ddetail-Dgoal
mvn spring-boot:repackage
Repackage le JAR/WAR en exécutable
-Dspring-boot.repackage.skip-Dspring-boot.repackage.classifier-Dspring-boot.repackage.outputDirectory
mvn clean package
Compile et package l'application Spring Boot
-DskipTests-Dmaven.test.skip-P--activate-profiles
mvn clean install
Compile, teste et installe l'artefact dans le dépôt local
-DskipTests-Dmaven.test.skip
mvn test
Lance les tests unitaires Maven
-Dtest=TestClass-Dtest=TestClass#testMethod-DfailIfNoTests-Dmaven.test.failure.ignore
mvn dependency:tree
Affiche l'arbre des dépendances Maven
-Dverbose-Dincludes-Dexcludes-Dscope
mvn dependency:analyze
Analyse les dépendances inutilisées ou déclarées
-DignoreNonCompile
mvn versions:display-dependency-updates
Affiche les mises à jour disponibles des dépendances
-Dincludes-Dexcludes
mvn versions:display-plugin-updates
Affiche les mises à jour des plugins Maven
mvn versions:use-latest-releases
Met à jour les dépendances vers les dernières releases
-Dincludes-Dexcludes
./gradlew bootRun
Lance l'application Spring Boot avec Gradle
--args--debug-jvm-Dspring.profiles.active-Dspring.output.ansi.enabled
./gradlew bootJar
Crée un JAR exécutable avec Gradle
--exclude--no-build-cache--rerun-tasks
./gradlew bootWar
Crée un WAR exécutable avec Gradle
--exclude--no-build-cache
./gradlew bootBuildImage
Construit une image Docker avec Buildpacks (Gradle)
--imageName--builder--runImage--publish--tags--env
./gradlew bootRun --args='--server.port=9000'
Lance sur un port personnalisé
--args
./gradlew build
Compile, teste et package l'application
-x test--exclude-task--parallel--max-workers--profile
./gradlew test
Lance les tests Gradle
--tests--rerun-tasks--continue-i--info-d--debug
./gradlew clean
Nettoie le répertoire de build
./gradlew dependencies
Affiche l'arbre des dépendances Gradle
--configuration
./gradlew dependencyUpdates
Vérifie les mises à jour des dépendances (plugin versions)
-Drevision=release
java -jar target/myapp.jar
Exécute l'application Spring Boot packagée
--server.port--spring.profiles.active--spring.config.location--spring.config.name-Xmx-Xms-D
java -jar myapp.jar --server.port=8081
Lance sur le port 8081
--spring.profiles.active--spring.config.location
java -jar myapp.jar --spring.profiles.active=dev
Lance avec le profil 'dev'
--server.port--spring.config.location
java -jar myapp.jar --spring.config.location=file:./custom.yml
Lance avec un fichier de configuration externe
--server.port--spring.profiles.active
java -jar myapp.jar --debug
Lance en mode debug (logs détaillés)
--server.port--spring.profiles.active
java -jar myapp.jar --trace
Lance en mode trace (logs très détaillés)
java -Dserver.port=9000 -jar myapp.jar
Définit le port via propriété système
-Dspring.profiles.active-Dspring.config.location-Xmx-Xms
java -Xmx512m -Xms256m -jar myapp.jar
Lance avec mémoire JVM personnalisée
-XX:+UseG1GC-XX:MaxMetaspaceSize
nohup java -jar myapp.jar &
Lance en arrière-plan avec nohup
./mvnw spring-boot:run
Utilise le wrapper Maven (mvnw) pour lancer l'application
-Dspring-boot.run.arguments-Dspring-boot.run.profiles
./mvnw clean package
Package avec le wrapper Maven
-DskipTests
./gradlew bootRun
Utilise le wrapper Gradle (gradlew) pour lancer l'application
--args--debug-jvm
docker build -t myapp .
Construit l'image Docker de l'application
--build-arg--file-f--tag-t
docker run -p 8080:8080 myapp
Lance le conteneur Docker Spring Boot
-e--env--name--rm-d-v--volume--network
docker run -e SPRING_PROFILES_ACTIVE=prod -p 8080:8080 myapp
Lance avec profil 'prod' via variable d'environnement
-e--env--name--rm-d
docker-compose up
Lance avec Docker Compose
--build-d--scale
docker-compose down
Arrête les conteneurs Docker Compose
-v--volumes--rmi
mvn flyway:migrate
Exécute les migrations Flyway
-Dflyway.url-Dflyway.user-Dflyway.password-Dflyway.schemas-Dflyway.locations
mvn flyway:clean
Nettoie la base de données (supprime tous les objets)
-Dflyway.url-Dflyway.user-Dflyway.password
mvn flyway:info
Affiche les informations de migration Flyway
-Dflyway.url-Dflyway.user-Dflyway.password
mvn flyway:validate
Valide les migrations Flyway
-Dflyway.url-Dflyway.user-Dflyway.password
mvn flyway:repair
Répare la table d'historique Flyway
-Dflyway.url-Dflyway.user-Dflyway.password
mvn flyway:undo
Annule la dernière migration (version payante)
-Dflyway.url-Dflyway.user-Dflyway.password
./gradlew flywayMigrate
Exécute les migrations Flyway avec Gradle
-Dflyway.url-Dflyway.user-Dflyway.password
./gradlew flywayClean
Nettoie la base de données (Gradle)
-Dflyway.url-Dflyway.user-Dflyway.password
mvn liquibase:update
Exécute les changements Liquibase
-Dliquibase.url-Dliquibase.username-Dliquibase.password-Dliquibase.changeLogFile
mvn liquibase:rollback
Annule les changements Liquibase
-Dliquibase.rollbackCount-Dliquibase.rollbackTag-Dliquibase.rollbackDate
mvn liquibase:status
Affiche le statut des changements Liquibase
-Dliquibase.url-Dliquibase.username-Dliquibase.password
mvn liquibase:diff
Génère un diff entre base de données et changelog
-Dliquibase.referenceUrl-Dliquibase.referenceUsername
mvn liquibase:generateChangeLog
Génère un changelog depuis la base de données
-Dliquibase.url-Dliquibase.username
mvn jib:build
Construit une image Docker avec Jib (sans Docker daemon)
-Dimage-Djib.to.auth.username-Djib.to.auth.password-Djib.container.ports-Djib.container.environment
mvn jib:dockerBuild
Construit une image Docker locale avec Jib
-Dimage-Djib.to.tags
mvn jib:buildTar
Sauvegarde l'image au format tar
-Dimage-Djib.outputPaths
./gradlew jib
Construit une image Docker avec Jib (Gradle)
--image-Djib.to.auth.username-Djib.to.auth.password
./gradlew jibDockerBuild
Construit une image Docker locale avec Jib (Gradle)
--image
mvn spring-javaformat:apply
Formate le code avec Spring JavaFormat
-Dspring.javaformat.skip
mvn spring-javaformat:validate
Valide le formatage du code
./gradlew format
Formate le code avec Spotless (Gradle)
-Pspotless.check.skip
./gradlew spotlessCheck
Vérifie le formatage avec Spotless
./gradlew spotlessApply
Applique le formatage Spotless
mvn checkstyle:check
Vérifie le style de code avec Checkstyle
-Dcheckstyle.skip
./gradlew checkstyleMain
Vérifie le style du code source principal (Gradle)
./gradlew checkstyleTest
Vérifie le style du code de test (Gradle)
mvn pmd:pmd
Analyse statique du code avec PMD
-Dpmd.skip
mvn pmd:cpd
Détecte le code dupliqué avec CPD
-Dcpd.skip
./gradlew pmdMain
Analyse PMD du code source principal
mvn spotbugs:spotbugs
Détecte les bugs potentiels avec SpotBugs
-Dspotbugs.skip
mvn spotbugs:gui
Ouvre l'interface graphique SpotBugs
./gradlew spotbugsMain
Analyse SpotBugs du code principal (Gradle)
mvn jacoco:report
Génère le rapport de couverture JaCoCo
mvn jacoco:check
Vérifie les seuils de couverture JaCoCo
-Djacoco.skip
./gradlew jacocoTestReport
Génère le rapport JaCoCo (Gradle)
./gradlew jacocoTestCoverageVerification
Vérifie les seuils JaCoCo (Gradle)
mvn sonar:sonar
Analyse le projet avec SonarQube
-Dsonar.host.url-Dsonar.login-Dsonar.projectKey-Dsonar.projectName-Dsonar.branch.name
./gradlew sonar
Analyse SonarQube avec Gradle
-Dsonar.host.url-Dsonar.login-Dsonar.projectKey
mvn spring-boot:run -Dspring-boot.run.profiles=dev,local
Lance avec plusieurs profils
-Dspring-boot.run.arguments-Dspring-boot.run.jvmArguments
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
Lance avec débogueur distant
-Dspring-boot.run.profiles
./gradlew bootRun --debug-jvm
Lance avec débogueur distant (Gradle)
--args
mvn spring-boot:build-image -Dspring-boot.build-image.imageName=myregistry/myapp:latest
Construit et tague une image Docker
-Dspring-boot.build-image.publish-Dspring-boot.build-image.builder
mvn spring-boot:build-image -Dspring-boot.build-image.publish=true
Construit et publie l'image vers un registre
-Dspring-boot.build-image.imageName-Dspring-boot.build-image.tags
mvn spring-boot:build-image -Dspring-boot.build-image.builder=paketobuildpacks/builder:full
Utilise un builder personnalisé
-Dspring-boot.build-image.imageName
mvn test -Dtest=UserControllerTest
Lance une classe de test spécifique
-Dspring.profiles.active-DskipTests
mvn test -Dtest=UserControllerTest#testCreateUser
Lance une méthode de test spécifique
./gradlew test --tests UserControllerTest
Lance une classe de test spécifique (Gradle)
--tests
./gradlew test --tests "UserControllerTest.testCreateUser"
Lance une méthode de test spécifique (Gradle)
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=9090 --app.name=MyApp"
Passe des arguments à l'application
-Dspring-boot.run.profiles
./gradlew bootRun --args='--server.port=9090 --app.name=MyApp'
Passe des arguments (Gradle)
--debug-jvm
mvn dependency:copy-dependencies
Copie toutes les dépendances dans target/dependency
-DoutputDirectory-DincludeScope
mvn help:effective-pom
Affiche le POM effectif avec tous les héritages
-Doutput
mvn help:effective-settings
Affiche les settings Maven effectifs
-Doutput
mvn help:active-profiles
Affiche les profils Maven actifs
mvn help:all-profiles
Affiche tous les profils Maven disponibles
mvn dependency:purge-local-repository
Supprime les dépendances du dépôt local
-DreResolve
mvn clean compile -U
Force la mise à jour des snapshots
-U--update-snapshots
mvn clean compile -o
Mode offline (pas de téléchargement)
-o--offline
mvn clean compile -X
Mode debug (logs très détaillés)
-X--debug
mvn clean compile -q
Mode silencieux (peu de logs)
-q--quiet
mvn clean compile -T 4
Build parallèle avec 4 threads
-T--threads
mvn clean compile -T 1C
Build parallèle (1 thread par cœur CPU)
./gradlew build --parallel
Build parallèle avec Gradle
--max-workers
./gradlew build --scan
Génère un scan de build (Build Scan)
--no-scan
./gradlew build --profile
Génère un profil de performance du build
./gradlew build --dry-run
Simule le build sans exécuter
-m--dry-run
./gradlew build -x test
Build en excluant les tests
-x--exclude-task
./gradlew build --refresh-dependencies
Rafraîchit les dépendances
./gradlew build --no-build-cache
Désactive le cache de build
./gradlew build --continuous
Mode continu (rebuilde sur changement)
-t--continuous
./gradlew tasks
Liste toutes les tâches Gradle disponibles
--all--group
./gradlew properties
Affiche toutes les propriétés Gradle
./gradlew wrapper --gradle-version=8.5
Met à jour le wrapper Gradle
--gradle-version--distribution-type
mvn wrapper:wrapper
Génère le wrapper Maven
-Dmaven
mvn wrapper:wrapper -Dmaven=3.9.6
Génère le wrapper Maven avec version spécifique
sdk install springboot
Installe Spring Boot CLI via SDKMAN
sdk use springboot 3.2.0
Utilise une version spécifique de Spring Boot CLI
brew install springboot
Installe Spring Boot CLI via Homebrew (macOS)
choco install springboot
Installe Spring Boot CLI via Chocolatey (Windows)
curl https://start.spring.io/starter.zip -o myapp.zip
Télécharge un projet depuis Spring Initializr
-d--data-o--output
curl https://start.spring.io/starter.zip -d dependencies=web,data-jpa -d javaVersion=17 -o myapp.zip
Télécharge avec dépendances spécifiques
-d
mvn release:prepare
Prépare une release Maven
-DreleaseVersion-DdevelopmentVersion-Dtag-DdryRun-Dresume
mvn release:perform
Exécute la release Maven
-DconnectionUrl-Dusername-Dpassword
mvn release:rollback
Annule une release Maven
mvn release:clean
Nettoie les fichiers de release
./gradlew release
Exécute une release avec le plugin Gradle Release
-Prelease.useAutomaticVersion
mvn git-commit-id:revision
Génère les informations Git dans le build
mvn spring-boot:run -Dspring-boot.run.fork=false
Lance sans forker (même JVM)
-Dspring-boot.run.profiles
mvn spring-boot:run -Dspring-boot.run.workingDirectory=/path/to/dir
Lance avec un répertoire de travail spécifique
mvn spring-boot:run -Dspring-boot.run.skip=true
Ignore l'exécution du plugin
mvn spring-boot:test-run -Dspring-boot.run.arguments="--server.port=0"
Lance pour tests sur port aléatoire
mvn spring-boot:build-info -Dspring-boot.build-info.skip=false
Génère build-info.properties
-Dspring-boot.build-info.outputFile