Composants clés et éléments internes du framework Spring Boot

De Get Docs
Aller à :navigation, rechercher

Dans mon article précédent "Introduction à Spring Boot", nous avons discuté des bases de Spring Boot. Nous allons maintenant discuter de "Quels sont les principaux composants de Spring Boot" et "Comment Spring Boot fonctionne sous le capot".

Composants clés du cadre Spring Boot

Spring Boot Framework comporte principalement quatre composants principaux.

  • Spring Boot Démarreurs
  • Spring Boot Configurateur automatique
  • Spring Boot CLI
  • Spring Boot Actionneur

REMARQUE :- En plus de ces quatre composants principaux, il existe deux autres composants Spring Boot :

  • Spring Initialisation
  • Spring Boot IDE

Pour démarrer rapidement de nouveaux projets Spring Boot, nous pouvons utiliser l'interface Web "Spring Initializr". Spring URL d'initialisation : https://start.spring.io. Nous avons de nombreux IDE Spring Boot comme Eclipse IDE, IntelliJ IDEA, Spring STS Suite, etc. Nous aborderons ces deux composants dans les prochains articles. Nous allons maintenant discuter de ces quatre composants Spring Boot un par un en détail.

Spring Boot Démarreur

Spring Boot Starters est l'une des principales fonctionnalités ou composants clés de Spring Boot Framework. La responsabilité principale de Spring Boot Starter est de combiner un groupe de dépendances communes ou liées en dépendances uniques. Nous allons explorer cette déclaration en détail avec un exemple. Par exemple, nous aimerions développer une application Web Spring avec Tomcat WebServer. Ensuite, nous devons ajouter les dépendances jar minimales suivantes dans le fichier pom.xml de votre Maven ou le fichier build.gradle de Gradle

  • Fichier Jar de base Spring (spring-core-xx.jar)
  • Spring Fichier Web Jar (spring-web-xx.jar)
  • Spring Fichier Web MVC Jar (spring-webmvc-xx.jar)
  • Fichier Jar de servlet (servlet-xx.jar)

Si nous voulons ajouter des éléments de base de données, nous devons ajouter des fichiers jar liés à la base de données, tels que le fichier jar JDBC Spring, les fichiers jar ORM Spring, le fichier Jar de transaction Spring, etc.

  • Spring Fichier Jar JDBC (spring-jdbc-xx.jar)
  • Spring Fichier Jar ORM (spring-orm-xx.jar)
  • Spring Fichier Jar de transaction (spring-transaction-xx.jar)

Nous devons définir de nombreuses dépendances dans nos fichiers de construction. Ce sont des tâches très fastidieuses et lourdes pour un développeur. Et cela augmente également la taille de notre fichier de construction. Quelle est la solution pour éviter autant de définitions de dépendances dans nos fichiers de build ? La solution est Spring Boot Composant de démarrage. Spring Boot Le composant de démarrage combine tous les jars associés dans un seul fichier jar afin que nous puissions ajouter uniquement la dépendance du fichier jar à nos fichiers de construction. Au lieu d'ajouter plus de 4 fichiers jar à notre fichier de construction, nous devons ajouter un et un seul fichier jar : fichier jar "spring-boot-starter-web". Lorsque nous ajoutons la dépendance de fichier jar "spring-boot-starter-web" à notre fichier de construction, Spring Boot Framework télécharge automatiquement tous les jars requis et les ajoute à notre chemin de classe de projet. De la même manière, le fichier jar "spring-boot-starter-logging" charge tous ses jars de dépendance comme "jcl-over-slf4j, jul-to-slf4j,log4j-over-slf4j, logback-classic" à notre projet chemin de classe.

Principaux avantages du démarreur Spring Boot

  • Spring Boot Starter réduit la définition de nombreuses dépendances simplifie les dépendances de construction de projet.
  • Spring Boot Starter simplifie les dépendances de construction de projet.

C'est tout à propos du composant Spring Boot Starter. Nous discuterons de plus de détails avec quelques exemples Spring Boot dans les prochains articles.

Spring Boot Configurateur automatique

Un autre composant clé important de Spring Boot Framework est Spring Boot AutoConfigurator. La plupart des critiques de la plate-forme Spring IO (Spring Framework) est que "pour développer une application basée sur Spring nécessite beaucoup de configuration (soit la configuration XML de la configuration d'annotation). Alors comment résoudre ce problème. La solution à ce problème est Spring Boot AutoConfigurator. La principale responsabilité de Spring Boot AutoConfigurator est de réduire la configuration Spring. Si nous développons des applications Spring dans Spring Boot, alors nous n'avons pas besoin de définir une configuration XML unique et une configuration d'annotation presque nulle ou minimale. Spring Boot Le composant AutoConfigurator se chargera de fournir ces informations. Par exemple, si nous voulons déclarer une application MVC Spring à l'aide de la plate-forme IO Spring, nous devons définir de nombreuses configurations XML telles que des vues, des résolveurs de vue, etc. Mais si nous utilisons Spring Boot Framework, nous n'avons pas besoin de définir ces configurations XML. Spring Boot AutoConfigurator s'en chargera. Si nous utilisons le fichier jar "spring-boot-starter-web" dans notre fichier de construction de projet, alors Spring Boot AutoConfigurator résoudra les vues, affichera les résolveurs, etc. automatiquement. Et aussi Spring Boot réduit la définition de la configuration d'annotation. Si nous utilisons l'annotation @SpringBootApplication au niveau de la classe, alors Spring Boot AutoConfigurator ajoutera automatiquement toutes les annotations requises à Java Class ByteCode. Si nous parcourons la documentation Spring Boot, nous pouvons trouver la définition suivante pour @SpringBootApplication.

@Target(value=TYPE)
@Retention(value=RUNTIME)
@Documented
@Inherited
@Configuration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication

Autrement dit, @SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiration. C'est tout à propos du composant Spring Boot AutoConfigurate. Nous discuterons de plus de détails avec quelques exemples Spring Boot dans les prochains articles. REMARQUE :-

  • En termes simples, Spring Boot Starter réduit les dépendances de construction et Spring Boot AutoConfigurator réduit la configuration Spring.
  • Comme nous l'avons expliqué, Spring Boot Starter dépend de Spring Boot AutoConfigurator, Spring Boot Starter déclenche automatiquement Spring Boot AutoConfigurator.

Spring Boot CLI

Spring Boot CLI (Command Line Interface) est un logiciel Spring Boot permettant d'exécuter et de tester des applications Spring Boot à partir d'une invite de commande. Lorsque nous exécutons des applications Spring Boot à l'aide de la CLI, elles utilisent en interne les composants Spring Boot Starter et Spring Boot AutoConfigurate pour résoudre toutes les dépendances et exécuter l'application. Nous pouvons même exécuter des applications Web Spring avec de simples commandes CLI Spring Boot. Spring Boot CLI a introduit une nouvelle commande "spring" pour exécuter des scripts Groovy à partir de l'invite de commande. Exemple de commande spring :

spring run HelloWorld.groovy

Ici, HelloWorld.groovy est un script Groovy FileName. Comme les noms de fichiers source Java ont l'extension *.java, les fichiers de script Groovy ont l'extension *.groovy. La commande "spring" exécute HelloWorld.groovy et produit une sortie. Spring Boot Le composant CLI nécessite de nombreuses étapes telles que l'installation de la CLI, la configuration de la CLI, le développement d'une application Spring Boot simple et la teste. Nous allons donc consacrer un autre article pour en discuter en détail avec quelques exemples Spring Boot. Veuillez vous référer à mon prochain article sur Spring Boot CLI.

Spring Boot Actionneur

Spring Boot Les composants de l'actionneur offrent de nombreuses fonctionnalités, mais deux fonctionnalités principales sont

  • Fournir des terminaux de gestion aux applications Spring Boot.
  • Spring Boot Métriques des applications.

Lorsque nous exécutons notre application Web Spring Boot à l'aide de la CLI, l'actionneur Spring Boot fournit automatiquement le nom d'hôte en tant que "localhost" et le numéro de port par défaut en tant que "8080". Nous pouvons accéder à cette application en utilisant le point de terminaison "https://localhost:8080/%22. Nous utilisons en fait des méthodes de requête HTTP telles que GET et POST pour représenter les points de terminaison de gestion à l'aide de l'actionneur Spring Boot. Nous discuterons de plus de détails sur l'actionneur Spring Boot dans les prochains articles.

Éléments internes du framework Spring Boot

Il est toujours recommandé de comprendre comment Spring Boot Framework réduit les dépendances de build, Spring Configuration, etc. Comment Spring Boot fonctionne sous le capot. Si vous connaissez le langage de programmation Groovy, vous connaissez la plupart des choses. Dans Groovy, nous n'avons pas besoin d'ajouter des importations et pas besoin d'ajouter des dépendances au projet Groovy. Lorsque nous compilons des scripts Groovy à l'aide de Groovy Compiler (groovyc), il ajoute automatiquement toutes les instructions d'importation par défaut, puis les compile. De la même manière, le langage de programmation Groovy contient un résolveur de dépendances JAR pour résoudre et ajouter tous les fichiers jar requis au chemin de classe du projet Groovy. Spring Boot Framework utilise en interne Groovy pour ajouter des valeurs par défaut telles que les instructions d'importation par défaut, la méthode Application main(), etc. Lorsque nous exécutons des scripts Groovy à partir de l'invite de commande CLI, il utilise cette méthode main () pour exécuter l'application Spring Boot.

Grain de raisin

Grape est un moteur de résolution de dépendance intégré. Grape est un gestionnaire de dépendances JAR intégré à Groovy. Grape nous permet d'ajouter rapidement des dépendances de référentiel maven à notre chemin de classe de projet afin de réduire les définitions de fichiers de construction. Spring Boot Le modèle de programmation Framework est principalement inspiré du modèle de programmation Groovy. Spring Boot Framework dépend en interne de ces deux composants majeurs : Groovy et Grape. Vous pouvez consulter la documentation Grape https://docs.groovy-lang.org/latest/html/documentation/grape.html pour plus de détails. C'est tout sur les composants et les composants internes Spring. Nous discuterons de ces composants en détail avec quelques exemples Spring Boot dans les prochains articles. Si vous avez des questions, s'il vous plaît laissez-moi un commentaire.