Description avancée de Spring Boot
Ce paragraphe décrit le lancement d’un programme Spring Boot. Il permet de démystifier une fois de plus la « magie » apparente du système qui est en fait le résultat d’un travail intéressant et consciencieux. Spring utilise pour son compte les mécanismes de Spring Boot qu’il met à notre disposition.
Les sources de Spring Boot sont visibles ici : https://github.com/spring-projects/spring-boot. Nous pouvons étudier le comportement de Spring Boot au démarrage à partir des sources. Une application Spring Boot se caractérise par deux éléments : l’annotation @SpringBootConfiguration et la méthode statique RUN au sein d’un programme Java standard :
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
L’annotation @SpringBootApplication est une composition des annotations @SpringBootConfiguration, @EnableAutoConfiguration et @ComponentScan avec leurs attributs par défaut.
Comme nous l’avons vu, l’annotation @SpringBootConfiguration est un alias vers l’annotation @Configuration et l’annotation @EnableAutoConfiguration indique que nous avons de la configuration embarquée dans le code. L’annotation @ComponentScan indique que le package qui contient la classe principale sert de package...