Par Julien ROY, architecte Java chez Ekino
Vanroy sur GitHub
-
Jar ou war possibles
-
jar est un uber jar
-
-
Obtenir rapidement une application Java déjà configurée pour la production.
Modules disponibles :
-
logging
-
data
-
messaging
-
web
-
container
-
etc
-
Application Spring Initializr à la place de Maven ou Gradle pour initialiser un projet Spring Boot
-
Ne pas hésiter à utiliser Lombok pour améliorer la productivité (ajoute de multiples annotations utilitaires)
-
Spring Boot starter actuator :
-
permet d’avoir des outils de diagnostic, et des métriques sur l’application (statut, etc) → mesures instantanées, nécessitent d’être collectées pour une bonne analyse
-
thread dump possible sans passer par un
jstack
sur le serveur
-
-
Possibilité d’ajouter des fichiers de profil pour surcharger les properties par défaut pour un environnement particulier (comme la PROD, ou un profil pour déployer sur Amazon)
Démo d’un URLshortener
Dépendance spring-boot-devtools :
-
scan les classes générées et redémarre le context avec 2 classloaders (un avec toutes les classes, un seulement avec les nôtres → gain de perf)
-
live reload
-
remote debug sans besoin d’ouvrir des ports particuliers
-
à désactiver sur le livrable de Prod
→ On ne créé pas un POC mais le début d’une vraie application de PROD.
Voir également Spring Boot Admin pour une interface au-dessus de tous les précédents endpoints.