Vous êtes sur la page 1sur 3

Spring boot

- Sprint boot est un framework spring basé sur Java utilisé pour le développement accéléré
d’applications (pour construire des microservices autonomes). Il dispose d’un support
supplémentaire d’auto-configuration et d’un serveur d’application embarqué comme tomcat,
jetty, etc.
- Spring Boot configure automatiquement votre application en fonction des dépendances que
vous avez ajoutées au projet en utilisant des annotations. Le point d’entrée de l’application
Spring Boot est la classe qui contient l’annotation @SpringBootApplication et la méthode
main.
- Spring Boot scanne automatiquement tous les composants inclus dans le projet en utilisant
l’annotation @ComponentScan.
- Lorsqu'elle est placée au niveau d'une classe de configuration, telle que la classe principale
d'une application Spring Boot, @ComponentScan indique à Spring où rechercher les classes
annotées avec des annotations spécifiques telles que @Component, @Service, @Repository,
@Controller, etc.
Que fait l’annotation @SpringBootApplication en interne ?
- L’annotation @SpringBootApplication équivaut à utiliser @Configuration,
@EnableAutoConfiguration et @ComponentScan avec leurs attributs par défaut. Spring Boot
permet au développeur d’utiliser une seule annotation au lieu d’en utiliser plusieurs. Mais,
comme nous le savons, Spring a fourni des fonctionnalités faiblement couplées que nous
pouvons utiliser pour chaque annotation en fonction des besoins de notre projet.
- Plus précisément, l'annotation @SpringBootApplication est une combinaison des annotations
suivantes :
 @Configuration: Indique que la classe annotée est une classe de configuration Spring.
 @EnableAutoConfiguration: Active la configuration automatique de Spring Boot, ce qui permet
à Spring Boot de configurer automatiquement les composants en fonction des dépendances et
des conventions.
 @ComponentScan: Recherche et configure automatiquement les composants Spring dans le
package de la classe annotée et ses sous-packages.
 @SpringBootConfiguration: Une variante spécifique de @Configuration, qui est une annotation
de base pour les classes de configuration Spring Boot.
- En combinant ces annotations, @SpringBootApplication permet de configurer rapidement une
application Spring Boot en utilisant des conventions intelligentes et des configurations
automatiques.
- Le but de l’utilisation de @ComponentScan dans une classe :
L’application Spring Boot scanne tous les beans et les déclarations de package lors de
l’initialisation de l’application. Vous devez ajouter l’annotation @ComponentScan à votre classe
pour analyser les composants ajoutés à votre projet.
- Spring boot starter est un template maven qui contient une collection de toutes les
dépendances transitives pertinentes qui sont nécessaires pour démarrer une fonctionnalité
particulière.
-
- Spring Initializer est une application web qui vous aide à créer une structure initiale de projet
Spring Boot et fournit un fichier maven ou gradle pour construire votre code. Il résout le
problème de la mise en place d’un framework lorsque vous démarrez un projet à partir de zéro.
- Spring Boot CLI est une interface en ligne de commande qui vous permet de créer une
application java basée sur Spring à l’aide de Groovy.
Exemple : Vous n’avez pas besoin de créer de méthode getter et setter ou de modificateur
d’accès, d’instruction de retour. Si vous utilisez le modèle JDBC, il se charge automatiquement
pour vous.
Les commandes les plus utilisées sont : -jar, -install, -uninstall, -run, –init, -test, -war, -shell, -
grap, -help.
- Le port par défaut du serveur tomcat est 8080. Il peut être modifié en ajoutant la propriété
« sever.port » dans le fichier « application.property ».
- Oui, on peut utiliser « application.properties » pour configurer le type d’application web, c’est-à-
dire spring.main.web-application-type=none.
- Vous pouvez utiliser l’attribut « exclude » de « @EnableAutoConfiguration » si vous souhaitez
que l’autoconfiguration ne s’applique pas à une classe spécifique. Exemple:
@EnableAutoConfiguration(exclude={className})
- Injection de dépendance est un design pattern qui implémente le pattern Inversion de contrôle
pour des applications logicielles.
- Les caractéristiques de Spring Boot qui le rendent diffèrent :
 Crée une application Spring autonome avec une configuration minimale.
 Il intègre tomcat et jetty, ce qui permet de coder et d’exécuter l’application.
 Fournit des fonctionnalités prêtes pour la production telles que les métriques, le bilan de
santé (health checks) et la configuration externalisée.
 Absolument aucune exigence pour la configuration XML.
- Les avantages de l’utilisation de Spring Boot :
 Facile à comprendre et à développer des applications Spring.
 Spring Boot n’est rien d’autre qu’un framework existant avec l’ajout d’un serveur HTTP
intégré et d’une configuration d’annotation, ce qui le rend plus facile à comprendre et
accélère le processus de développement.
 Augmente la productivité et réduit le temps de développement.
 Configuration minimale.
 Nous n’avons pas besoin d’écrire de configuration XML, seules quelques annotations sont
nécessaires pour effectuer la configuration.
- Les composants clés de Spring Boot :
 Autoconfiguration de Spring Boot.
 CLI de Spring Boot.
 POMs de démarrage de Spring Boot.
 Les actionneurs de Spring Boot.
- les dépendances Spring Boot Starter:
 Data JPA starter.
 Test Starter.
 Security starter.
 Web starter.
 Mail starter.
 Thymeleaf starter.

- l’annotation @RestController dans Sprint boot:


- Il s’agit d’une combinaison de @Controller et @ResponseBody, utilisée pour créer un contrôleur
restful. Il convertit la réponse en JSON ou XML. Il garantit que les données renvoyées par chaque
méthode seront écrites directement dans le corps de la réponse au lieu de renvoyer un
template.
- Dans Spring Boot, l'annotation @RestController est utilisée pour marquer une classe en tant que
contrôleur de l'API REST. Cette annotation est une combinaison de deux autres annotations :
@Controller et @ResponseBody.
- L'annotation @Controller indique à Spring que la classe est un composant du contrôleur et
qu'elle gère les requêtes HTTP. L'annotation @ResponseBody indique que les méthodes de cette
classe renvoient des objets qui doivent être sérialisés directement dans le corps de la réponse
HTTP, plutôt que d'être rendus dans une vue (comme c'est le cas avec l'annotation @Controller
seule).
-
- Quelle est la différence entre @RestController et @Controller dans Spring Boot ?
- @Controller fait correspondre l’objet du modèle à la vue et le rend lisible, mais @RestController
renvoie simplement l’objet et les données de l’objet sont directement écrites dans la réponse
HTTP sous forme de JSON ou de XML.
- A quoi sert l’actionneur dans Spring ? Quels sont ses avantages ?
- Un actionneur est une fonctionnalité supplémentaire de Spring qui vous aide à surveiller et à
gérer votre application lorsque vous la mettez en production. Ces actionneurs comprennent
l’audit, la healthcheck, l’utilisation du CPU, les hits HTTP, la collecte de métriques, et bien
d’autres choses encore qui sont automatiquement appliquées à votre application.
- Pour activer la fonctionnalité de l’actionneur spring, nous devons ajouter la dépendance de
« spring-boot-starter-actuator » dans pom.xml.
- L’actionneur Spring Boot « /Beans » est utilisé pour obtenir la liste de tous les « spring beans »
de votre application.
- L’actionneur Spring Boot « /env » renvoie la liste de toutes les propriétés de l’environnement
d’exécution de l’application Spring Boot.
- Comment activer le log de débogage dans une application Spring Boot ?
- Nous pouvons définir la propriété logging.level.root=debug dans le fichier application.property.
- Vous pouvez définir les propriétés liées à l’application et à Spring boot dans un fichier appelé
« application.properties ».
- IoC Container est un framework pour implémenter l’injection automatique de dépendances. Il
gère la création des objets et leur durée de vie et injecte également les dépendances dans la
classe.

Vous aimerez peut-être aussi