Spring Boot Flashcards
Comment fonctionne l’auto-configuration ?
Spring Boot étend la configuration automatique de Spring Core en faisant des hypothèses raisonnables sur la configuration désirée sur la base du classpath, des variables d’environnement, etc…
A quoi sert spring-boot-parent ?
C’est le projet parent (au sens maven) de tout projet Spring Boot.
Il fixe les versions des dépendances qui seront utilisées pour certaines librairies couramment utilisées.
Que sont les dépendances de type spring-boot-starter ?
Ce sont des dépendances qui ne contiennent pas de code en elles-mêmes, mais qui tirent transitivement d’autres dépendances.
Que fait @SpringBootApplication ?
Elle combine 3 annotations:
- @SpringBootConfiguration
- @EnableAutoConfiguration
- @ComponentScan
Quelle est l’utilité des devtools ?
- Redémarrage automatique intelligent de l’application (java, fichiers de propriétés)
- Rafraichissement automatique intelligent du navigateur (templates, js, css, etc…)
- Désactivation automatique du cache de template
- Console H2 le cas échéant
Comment fonctionnent les DevTools ?
L”application est chargée dans 2 class loaders séparés:
- Un pour le code de l’application elle-même (qui change fréquemment)
- Un pour les dépendances (qui changent rarement)
Quand un changement est détecté, DevTools recharge uniquement contenant le code de l’application et redémarre le contexte Spring.
Ceci implique qu’en cas de changement de dépendances, il faut effectuer un redémarrage manuel.
Comment initialiser une base de données avec Spring Boot ?
Placer dans src/main/resources les fichiers:
- schema.sql pour la structure
- data.sql pour le contenu
Comment affecter un fichier de propriétés à un profil particulier ?
- En le nommant application-{profile name}.properties (ou .yml)
- Pour les fichiers YML uniquement, en dédiant une section à ce profil