Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 2 · Exercice de TD
Pas de base de données
Injection de dépendances et configuration · niveau 3 (difficile)
Énoncé
Dans le rapport d'une application Spring Boot 3 sans base de données, la configuration automatique DataSourceAutoConfiguration figurait parmi les negative matches. Dans le rapport de notre application de démonstration, ce nom n'apparaît nulle part. Expliquer pourquoi, puis indiquer ce qui le fera apparaître parmi les positive matches au chapitre 5.
Corrigé
$ java -jar target/demo-injection-0.0.1-SNAPSHOT.jar --debug | grep -c DataSource
0
Spring Boot 4 a découpé son auto-configuration en modules : celle des sources de données (DataSource) n'est plus dans le module principal, mais dans un module JDBC que notre application n'a pas parmi ses dépendances. La classe DataSourceAutoConfiguration n'est donc même pas examinée, et n'apparaît pas dans le rapport. Au chapitre 5, le starter de Spring Data JPA apportera ce module et une base H2 : la configuration de la source de données apparaîtra alors parmi les positive matches. Le rapport de tests du projet des corrigés :
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 s -- in fr.librairie.ex9.MagasinTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.044 s -- in fr.librairie.ex7.CompteurVisitesTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.107 s -- in fr.librairie.ex6.MessageAccueilTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 s -- in fr.librairie.ex6.MessageAccueilConfigureTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 s -- in fr.librairie.ex1.FactureServiceTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s -- in fr.librairie.ex8.PanierServiceTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 s -- in fr.librairie.ex4.EnvoiCourrielTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.078 s -- in fr.librairie.ex4.EnvoiCourrielDevTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 s -- in fr.librairie.ex3.LivraisonUrgenteTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s -- in fr.librairie.ex2.ExpeditionTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 s -- in fr.librairie.ex5.HorairesControllerTest
[INFO] Tests run: 13, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.