Compréhension approfondie des concepts et des objectifs qui sous-tendent la conception de l'architecture globale de SpringBoot

Outil de lecture de code source

Les lecteurs peuvent choisir les outils de lecture de code qui leur sont familiers, en fonction de leurs habitudes quotidiennes, tels qu'IntelliJ IDEA, Spring Tool Suite, Eclipse, MyEclipse, etc.

Avant de lire le code source de Spring Boot, il faut mettre en place un environnement de développement de base. Spring Boot impose certaines exigences en matière de JDK et d'outils de compilation, tels que le JDK 8, Maven 3.3, Gradle 5.x et d'autres environnements ; il suffit de respecter ces exigences.

Afin d'obtenir de meilleurs résultats d'apprentissage, il est recommandé d'utiliser le mode débogage de l'instance pour l'apprentissage. Par conséquent, l'outil de lecture du code source devrait de préférence prendre en charge les fonctions d'écriture, d'exécution, de débogage et autres de l'instance.

Cet article utilise Itellj IDEA (ou simplement « IDEA ») comme outil de lecture de code et propose deux modes d'apprentissage : la lecture pure du code source et le débogage d'instances.

Parmi ceux-ci, le mode de lecture du code source brut peut nous aider à mieux commenter, écrire et tester le code unitaire, entre autres opérations, tandis que le mode de débogage d'instance nous permet de mieux comprendre le déroulement de l'exécution de l'ensemble du projet et l'utilisation spécifique des fonctions. Les figures 1-2 et 1-3 illustrent ces deux modes de lecture du code via IDEA.

Concepts et règles de planification de Spring Boot

Nous savons tous que l'une des fonctionnalités phares de Spring réside dans sa capacité à intégrer divers logiciels open source. Cependant, avec le développement rapide d'Internet, de nouvelles architectures apparaissent les unes après les autres, ce qui impose de nouvelles exigences en matière de flexibilité, d'évolutivité et de haute disponibilité de l'architecture système. Au fur et à mesure que le projet évolue, Spring intègre progressivement davantage de logiciels open source et introduit de nombreux fichiers de configuration, ce qui entraîne un taux d'erreurs élevé et une faible efficacité opérationnelle. C'est pour remédier à ces situations que Spring Boot a vu le jour.

Spring Boot ne fournit pas en soi les fonctionnalités principales de Spring, mais sert de structure de base à Spring afin de permettre la création rapide de projets, la préconfiguration de composants tiers et leur utilisation immédiate, sans configuration supplémentaire.

concept d'aménagement

Le principe « Convention Over Configuration », également appelé « programmation par convention », est un paradigme de conception logicielle visant à réduire le nombre de décisions que les développeurs doivent prendre et à simplifier et assouplir la mise en œuvre. La conception centrale de Spring Boot s'inscrit parfaitement dans ce paradigme.

Les fonctionnalités de Spring Boot sont développées selon le principe “ promise over device ”, du détail à l'ensemble. De la création de l'infrastructure aux fichiers de configuration, en passant par l'intégration des intergiciels, des conteneurs intégrés et des différents « Starters » de son écosystème, tout suit ce paradigme de conception. Starter

En tant que l'une des fonctionnalités principales de Spring Boot, il fournit des modules de configuration automatique et des dépendances basés sur du code de configuration automatique, ce qui rend l'intégration logicielle simple et conviviale. Parallèlement, Spring Boot encourage également toutes les entreprises du secteur logiciel à créer leur propre « Starter ».

politique d'aménagement du territoire

En ce qui concerne la stratégie de développement de Spring Boot, il convient de mentionner la société Pivotal, qui constitue l’équipe de développement de Spring Boot. L’objectif de Pivotal est de transformer la manière dont le monde développe des logiciels. Pivotal fournit à ses clients professionnels des plateformes PaaS et des services dédiés au développement d’applications cloud natives, et utilise des méthodologies de développement logiciel agiles pour les aider à développer leurs logiciels. Cela permet ainsi d’améliorer l’efficacité du travail des développeurs, de réduire les coûts d’exploitation et de maintenance des logiciels, de mener à bien la transformation numérique et l’innovation informatique des entreprises, et d’aider ces dernières à innover sur le plan commercial.

La philosophie de conception de l'architecture Spring Boot s'inscrit parfaitement dans la ligne des principes de l'entreprise à laquelle elle appartient. Spring Boot n'apporte pas de nouvelles solutions à des problèmes déjà résolus, mais offre une nouvelle expérience aux plateformes et aux développeurs : intégrer des structures technologiques éprouvées, masquer la complexité du système, simplifier l'utilisation des technologies existantes et, par là même, réduire la complexité logicielle. Utiliser ce seuil pour améliorer l'efficacité du développement logiciel ainsi que de l'exploitation et de la maintenance.

L'architecture globale de Spring Boot

Dans la section 1.2, nous avons présenté la structure et les fonctions principales de Spring Boot. Dans cette section, nous allons découvrir les dépendances entre les différents modules de Spring Boot d'un point de vue architectural, comme l'illustre la figure 1-4.

Dans la figure ci-dessus, afin de représenter plus clairement les relations entre les projets Spring Boot, nous avons omis certaines relations de dépendance en nous appuyant sur la transitivité des dépendances. Par exemple, Spring Boot Starters dépend non seulement du projet Spring Boot Autoconfigure, mais aussi de Spring Boot et de Spring ; or, le projet Spring Boot Autoconfigure dépend de Spring Boot, et Spring Boot dépend à son tour de projets liés à Spring. C'est pourquoi la relation entre Spring Boot Starters et ses dépendances sous-jacentes n'apparaît pas sur la figure.

Le projet « parent » de Spring Boot est Spring Boot lui-même, et le projet « parent » représenté sur la figure dépend du projet Spring Boot. De même, afin de clarifier la structure, les dépendances concernées ne sont pas représentées sur la figure.

Les figures 1 à 4 montrent clairement que Spring Boot repose presque entièrement sur Spring et propose deux modules centraux, Spring Boot et Spring Boot Autoconfigure, à partir desquels s'articulent d'autres fonctionnalités associées. L'analyse du code source abordée dans cet article s'articule également autour de ces deux modules centraux.

↑