Maison  >  Article  >  Java  >  Architecture du cadre de base Spring

Architecture du cadre de base Spring

巴扎黑
巴扎黑original
2017-04-30 10:13:581616parcourir

De nombreuses personnes utilisent Spring pour développer des projets Java, mais lors de la configuration des dépendances Maven, il n'est pas clair quels fichiers Spring Jar configurer. Ils en ajoutent souvent un certain nombre de manière aléatoire, puis continuent à configurer les dépendances Jar lors de la compilation ou de l'exécution d'erreurs signalées. , ce qui entraîne une confusion des dépendances Spring, voire un téléchargement. Lors de la création du même type de projet à la fois, je ne sais pas quelles dépendances Spring configurer, je ne peux que les copier. En fait, c'est ce que j'ai fait au début. !

Il n'y a qu'une vingtaine de packages jar au printemps, chacun avec des fonctions correspondantes. Un jar peut également dépendre de plusieurs autres jars. Il est donc concis et clair de comprendre la relation entre eux et de configurer les dépendances maven. le framework Spring dans les projets Java ordinaires, quels jars sont nécessaires ? Juste un

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>

Que diriez-vous d'introduire Spring MVC dans les projets Web ? Il vous suffit de configurer une dépendance

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>

Pourquoi peut-il être configuré ainsi ? Ensuite, nous prenons la version spring 3.2.17.RELEASE comme exemple pour présenter la structure du framework Spring. Spring 4 est légèrement différent et sera présenté à la fin

. Le site officiel du printemps donne un schéma de structure du printemps 3

L'image divise Spring en 5 parties : core, aop, data access, web et test. Chaque rectangle arrondi dans l'image correspond à un pot s'il est configuré dans maven, le "groupId" de tous ces pots est "org" .springframework. ", chaque pot a un "artefactId" différent, de plus, "instrumentation" a deux pots, et un "spring-context-support" n'est pas répertorié dans la figure, il y a donc 19 packages de pots pour spring3 au total.

Ce qui suit présente les pots et les dépendances de ces cinq parties

noyau

La partie centrale contient 4 modules

  1. spring-core : L'implémentation la plus basique de l'injection de dépendances IoC et DI


  2. spring-beans : Fabrique de haricots et assemblage de haricots


  3. spring-context : le contexte de spring est le conteneur IoC


  4. spring-expression : langage d'expression printanière

Leurs dépendances complètes

Étant donné que spring-core s'appuie sur commons-logging et que d'autres modules s'appuient sur spring-core, l'ensemble du framework Spring repose sur commons-logging. Si vous disposez de votre propre implémentation de journal telle que log4j, vous pouvez éliminer la dépendance à l'égard de commons-logging. L'implémentation No Log exclut la dépendance commons-logging, erreur de compilation

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.2.17.RELEASE</version>
    <exclusions>
        <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

aop

La partie aop contient 4 modules

  1. spring-aop : programmation orientée aspect


  2. aspects-printemps : AspectJ intégré


  3. spring-instrument : fournit une prise en charge des outils au niveau de la classe et une implémentation au niveau du ClassLoader pour le serveur


  4. spring-instrument-tomcat : implémentation d'instruments pour Tomcat

Leurs dépendances

accès aux données

La partie accès aux données contient 5 modules

  1. spring-jdbc : support jdbc


  2. spring-tx : contrôle des transactions


  3. spring-orm : mappage relationnel objet, framework orm intégré


  4. spring-oxm : mappage XML d'objet


  5. spring-jms : service de messagerie java

Leurs dépendances

le web

La partie web contient 4 modules

  1. spring-web : fonctions Web de base, telles que le téléchargement de fichiers


  2. spring-webmvc : implémentation de mvc


  3. spring-webmvc-portlet : implémentation mvc basée sur un portlet


  4. spring-struts : Intégration avec struts, non recommandée, spring4 ne fournit plus

Leurs dépendances

tester

Il n'y a qu'un seul module dans la partie test, je mettrai ici aussi spring-context-support

  1. spring-test : test de printemps, fournissant des fonctions de tests junit et simulés


  2. spring-context-support : packages de support supplémentaires Spring, tels que les services de messagerie, l'analyse des vues, etc.

Leurs dépendances

C'est la fin de l'introduction au printemps 3. En regardant ces images, je pense que vous ne serez plus confus lors de la configuration des dépendances Spring dans maven

Ce qui suit présente spring4, qui est fondamentalement la même structure que spring3. Ce qui suit est le schéma de structure donné par le site officiel

.

Comme vous pouvez le voir, les entretoises de spring3 ont été supprimées de l'image, la messagerie et le websocket ont été ajoutés, et les autres modules restent inchangés. Il y a donc 20 pots de spring4

  1. . spring-websocket : Un outil de communication efficace pour les applications web


  2. spring-messaging : pour créer des applications basées sur la messagerie

Leurs dépendances

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn